Root Kategorie

Bei Problemen/Anregungen mehrsprachiger Webseiten.

Root Kategorie

Beitragvon jak » 29. Okt 2006, 16:16

HI zusammen,

erstmal ein herzliches Dankeschön an die Entwickler von Redaxo. Endlich ein CMS das ziemlich exakt dem entspricht was ich in der Regel brauche...

Danke!

Habe schon die Suchfunktion gequält und nichts brauchbares gefunden was mein Anliegen beantwortet.

Also ich möchte gerne auf jeder Seite ein entsprechendes Headline-Bild einbinden. Jedoch möchte ich dies nicht für jeden Artikel per Hand einfügen. Sondern es soll immer eine Headline entsprechend der Root-Kategorie sein. Auch entsprechend der Sprache....

Das funktioniert auch schon fast. Für die erste Menüebene ist alles bestens aber wenn ich eine Ebene tiefer gehe, zeigt es mir Kategorie eins tiefer an.

also nochmal zur verdeutlichung: ich möchte für jeden Unterartikel einer Root-Kategorie (egal wieviele Ebenen tiefer) immer ein Headline-Bild einfügen.

Code: Alles auswählen
Home
Produkte
            Produktkategorie1 (Headline: Produkte)
            Produktkategorie2 (Headline: Produkte)
                            Produkt 1 (Headline: Produkte)
                            Produkt 2 (Headline: Produkte)
                            Produkt 3 (Headline: Produkte)
            Produktkategorie3 (Headline: Produkte)
            Produktkategorie4 (Headline: Produkte)
Unternehmen
            Jobs (Headline: Unternehmen)
            Team (Headline: Unternehmen)
                    Mitarbeiter 1  (Headline: Unternehmen)
                    Mitarbeiter 2  (Headline: Unternehmen)
                    Mitarbeiter 3  (Headline: Unternehmen)
            Geschäftsführung (Headline: Unternehmen)


Wie kann ich das bewerkstelligen?

Danke für euere Hilfe!
jak
 
Beiträge: 7
Registriert: 29. Okt 2006, 16:04

Beitragvon Dr KillerJoe » 29. Okt 2006, 16:33

Hallo und willkommen bei Redaxo.

Ich denke was Du brauchst ist das Banner/Bild durch vererbendes Metafile

mfg
Killer
Die Doku und Wiki sind Deine Freunde!!!
Dr KillerJoe
 
Beiträge: 1729
Registriert: 24. Nov 2005, 21:29

Beitragvon jak » 29. Okt 2006, 16:35

das Problem ist das in der ersten Ebene schon Bilder in den Metafiles sind und es daher nicht funktionieren würde... Noch ne andere idee?
jak
 
Beiträge: 7
Registriert: 29. Okt 2006, 16:04

Beitragvon jak » 29. Okt 2006, 16:41

Hier ist mal der Code wo es schon für die 1. Ebene Funktioniert.

Code: Alles auswählen
<? if ($REX['CUR_CLANG'] =='2') {$sprache = "en";}
    if ($REX['CUR_CLANG'] =='1') {$sprache = "it";}
    if ($REX['CUR_CLANG'] =='0') {$sprache = "de";}

?>
<div class="HEADER"><img src="<?
echo "gfx/headlines/"; 
$cat = $this->getValue("category_id");
echo $sprache."_".$cat;
?>.jpg" />

</div>


Die Bilder liegen dann richtig benannt im gfx/headlines/ordner
wäre kein Problem da sich an den Hauptkategorien nichtso viel Ändern wird. In den tieferen Ebenen aber schon.
Zuletzt geändert von jak am 29. Okt 2006, 16:42, insgesamt 1-mal geändert.
jak
 
Beiträge: 7
Registriert: 29. Okt 2006, 16:04

Beitragvon Markus.Staab » 29. Okt 2006, 16:41

Hi,

ich verstehe nicht, warum es mit dem o.g. Modul nicht funktioniert?

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon jak » 29. Okt 2006, 16:44

Das Problem ist dass ja das Modul ja nur dann eine Ebene tiefer geht wenn kein Metafile-Bild eingetragen ist. Dort sind aber Bilder eingetragen...(für etwas anderes)
jak
 
Beiträge: 7
Registriert: 29. Okt 2006, 16:04

Beitragvon Markus.Staab » 29. Okt 2006, 16:55

Hi jak,

dann schließe eben die erste Ebene aus dem Mechanismus aus?

Code: Alles auswählen
<?php
$art = OOArticle::getArticleById( REX_ARTICLE_ID);
$metaFile = $art->getFile();

if ( $metaFile == '') {
  $cat = OOCategory::getCategoryById( $art->getCategoryId());
  while ( $metaFile == '') {
     if ($cat == null) {
       break;
     }

     $metaFile = $cat->getFile();
     $cat = $cat->getParent();

     if ($cat == null) {
       // Hier das Metafile wieder zurücksetzen, da die Root Kat
       // nicht einbezogen werden soll
       $metaFile = '';
       break;
     }
  }
}

if ( $metaFile != '') {
  $media = OOMedia::getMediaByName( $metaFile);
  $path = $media->getFullPath();
  $desc = htmlentities( $media->getDescription());
  $width = $media->getWidth();
  $height = $media->getHeight();
  printf ('<div class="banner"><img src="%s" alt="%s" title="%s" style="width: %spx; height:%spx" /></div>', $path, $desc, $desc, $width, $height);
}
?>


Gruß,
Markus

Edit:
Du kannst auch das normale Modul nehmen, und einfach in der 2. Ebene überall ein Metafile hinterlegen... ?
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Dr KillerJoe » 29. Okt 2006, 17:17

Ich glaub er möchte es so, daß immer das bild der jeweiligen root-cat genommen wird ;)

mfg
flo
Die Doku und Wiki sind Deine Freunde!!!
Dr KillerJoe
 
Beiträge: 1729
Registriert: 24. Nov 2005, 21:29

Beitragvon jak » 29. Okt 2006, 17:21

ja genau, er so das Metafile der ersten unterkategorie nehmen für alle Unterseiten.

oder irgendwie anders.

Ziel sollte sein dass jeder artikel in tieferen Ebenen automatisch die richtige Headline bekommt.
jak
 
Beiträge: 7
Registriert: 29. Okt 2006, 16:04

Beitragvon zehbaeh » 29. Okt 2006, 18:10

Sollte dann nicht:

$PATH = explode("|",$this->getValue("path").$this->getValue('article_id').'|');

$rootarttid = $PATH[1];

gehen? Ist allerdings dann die ArtikelId?

Wieso liefert getValue('path') überhaupt irgendwas. path ist kein Attribut/Variable der Klasse "article". In einem Template echo get_class($this) liefert aber "article". Wo genau wird das zusammengeschraubt??
zehbaeh
 
Beiträge: 563
Registriert: 17. Okt 2006, 10:52
Wohnort: Solingen

Beitragvon jak » 29. Okt 2006, 19:38

Jetzt gehts!

Danke dir!

Genau das habe ich gesucht und nicht gefunden!

Dankeschön!
:D
jak
 
Beiträge: 7
Registriert: 29. Okt 2006, 16:04

Beitragvon zehbaeh » 29. Okt 2006, 20:01

Na dann ist ja gut.)

Meine Frage hat sich auch erledigt.
Hab Ort und Entstehung von "path" lokalisieren können.
zehbaeh
 
Beiträge: 563
Registriert: 17. Okt 2006, 10:52
Wohnort: Solingen

Beitragvon Markus.Staab » 30. Okt 2006, 10:46

Hi,

zehbaeh hat geschrieben:Wieso liefert getValue('path') überhaupt irgendwas. path ist kein Attribut/Variable der Klasse "article". In einem Template echo get_class($this) liefert aber "article". Wo genau wird das zusammengeschraubt??


Über das getValue kommt man an das Ergebnis des SQLs, das hat nix mit den Klassenattributen zu tun.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany


Zurück zu Mehrsprachigkeit [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast