Seite 1 von 1
einbinden von "Metafile/Bild" in das template
Verfasst: 30. Aug 2005, 09:36
von t-horst
Hallo,
zunächst einmal vielen Dank für das Engement das ihr mit redaxo an den Tag legt!
Zur Frage:
Gehe ich recht in der Annahme, dass ich unter:
Metadaten/Sonstiges:
Metafile/bild
Ein Bild/Banner auswählen kann um es dann im template einzubinden, genauso wie hier auf der Seite das Bild mit den Kaffeetassen?
Und wenn ja, mit welchem Befehl kann ich es dann im template einbinden? Bin darüber leider nicht fündig geworden!
Vielen Dank vorab
Gruß Thorsten
Re: einbinden von "Metafile/Bild" in das template
Verfasst: 30. Aug 2005, 09:53
von Markus.Staab
Hi Thorsten,
zuerst mal, ein herzliches Willkommen bei REDAXO!
t-horst hat geschrieben:
zunächst einmal vielen Dank für das Engement das ihr mit redaxo an den Tag legt!
Das machen wir doch gerne, REDAXO ist unsere Familie
t-horst hat geschrieben:
Gehe ich recht in der Annahme, dass ich unter:
Metadaten/Sonstiges:
Metafile/bild
Ein Bild/Banner auswählen kann um es dann im template einzubinden, genauso wie hier auf der Seite das Bild mit den Kaffeetassen?
Genauso wird das hier gemacht.
Das ganze noch nach dem Vererbungsprinzip, aber sonst, hast du genau recht
.
Im Template sieht das so aus:
Code: Alles auswählen
$cat = OOCategory::getCategoryById( REX_CATEGORY_ID);
$metaFile = $metaFile = $cat->getFile();
while ( $metaFile == '') {
$cat = $cat->getParent();
if ($cat == null) {
break;
}
$metaFile = $cat->getFile();
}
Ist ungetestet!
Gruß,
Markus
Danke
Verfasst: 30. Aug 2005, 10:06
von t-horst
Danke
[ externes Bild ]
Funktioniert nur leider nicht...
bekommen einen Fatal error:
Call to a member function on a non-object in /homepages/....
Re: Danke
Verfasst: 30. Aug 2005, 10:10
von Markus.Staab
Hehe,
funktioniert das auch was ich da gepostet hab?
Wenn ja, dann stell ich das auf die Modulsammlung
Gruß,
Markus
Re: Danke
Verfasst: 30. Aug 2005, 10:16
von t-horst
kills hat geschrieben:
Hehe,
funktioniert das auch was ich da gepostet hab?
Wenn ja, dann stell ich das auf die Modulsammlung
Gruß,
Markus
Nein leider nicht...
Verfasst: 30. Aug 2005, 10:22
von Markus.Staab
Hi,
Jetzt, aber getestet:
Code: Alles auswählen
$cat = OOCategory::getCategoryById( $this->getValue( 'category_id'));
$metaFile = $metaFile = $cat->getFile();
while ( $metaFile == '') {
$cat = $cat->getParent();
if ($cat == null) {
break;
}
$metaFile = $cat->getFile();
}
Gruß,
Markus
Verfasst: 30. Aug 2005, 11:21
von t-horst
aufgerufen wird das ganze dann mit:
???
Funktioniert! Aber auch gut so? Oder eher unschön
???
Verfasst: 30. Aug 2005, 11:28
von Markus.Staab
Hi,
so
oder xhtml konform mit width u. height tag, sowahl alt text und title.
Code: Alles auswählen
if ( $metaFile != '') {
$media = OOMedia::getMediaByName( $metaFile);
$path = $REX['HTDOCS_PATH'].'files/'. $media->getOrgFileName();
$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
Umgesetzt
Verfasst: 30. Aug 2005, 13:06
von t-horst
modul "banner/bild" ins template integrieren ??
Verfasst: 27. Nov 2005, 21:26
von ape
hi,
hab mich jetzt ne ganze weile damit beschäftigt wie man das bannerbild aus dem metabereich des artikels ersetzt.
dazu hab ich das modul banner/bild eingebaut. nun bekomme ich zwar ein bild das aus dem metabereich gesteuert wird, aber leider auf der falschen position. --> ich hätts nämlich gern anstatt des ursprünglichen banners.
da das aber als hintergrundbild per css angegeben wird find ich ausser eben im css keine angabe in der der banner angegeben wird.
also kurz gesagt würd ich gern das modulskript im template einsetzen, nur weiss ich nicht wo..
wär lieb wenn mir da kurz wer drüberhilft,
lg,
ape
Verfasst: 27. Nov 2005, 21:53
von Markus.Staab
Hi ape,
ich versteh dein Problem nicht ganz.
Wenn du das Bild als hintergrund einbinden willst, dann machst du eben anstatt
Code: Alles auswählen
<img src="<?php echo $REX['HTDOCS_PATH'].'files/'.$metaFile ?>"/>
dann so:
Code: Alles auswählen
<div style="background-image: url( '<?php echo $REX['HTDOCS_PATH'].'files/'.$metaFile ?>')> </div>
Gruß,
Markus
Verfasst: 27. Nov 2005, 22:31
von ape
hi markus,
vielen dank für die schnelle antwort.
also was ich meine ist:
ich möchte anstelle des redaxo-demo-standard-banners einen metainfo-banner.
den standard banner finde ich aber nicht im default-template referenziert. deshalb weiss ich nicht wo
Code: Alles auswählen
<img src="<?php echo $REX['HTDOCS_PATH'].'files/'.$metaFile ?>"/>
hingehört.
lg,
ape
Verfasst: 27. Nov 2005, 22:45
von Markus.Staab
Hi ape,
in der REDAXO Demo wird der Banner via externem CSS einem Container hinzugefügt. Durchsuch mal die CSS Files..
Gruß,
Markus
Verfasst: 27. Nov 2005, 23:22
von ape
hallo markus,
vielen dank für die schützenhilfe. habs jetzt hinbekommen
habe den bild/banner code statt als modul im default-template zwischen main-block und main-block2 eingefügt
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 ( $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);
}
?>
solange ein bild bei der metainformation angegeben wurde funktioniert auch alles wie es sollte, nur wenn eben kein bild angegeben ist, bekommme ich folgende fehlermeldung:
Fatal error: Call to undefined function: getcategoryid() in ..cms/redaxo/include/classes/class.article.inc.php(382) : eval()'d code on line 25
es handelt sich also um die erste if-schleife die nicht funktioniert. weisst du vielleicht warum ?
Verfasst: 28. Nov 2005, 16:48
von Markus.Staab
Hi ape,
bitte den
Hinweis unter "Beschreibung" beachten:
http://www.redaxo.de/165-Moduldetails.html?module_id=29
Gruß,
Markus
Verfasst: 3. Dez 2005, 18:00
von ape
hi markus,
vielen dank, hat bei 3.0 gefunkt.
hab es mir aber natürlich nicht verkneifen können 3.1 drüberzuinstallieren und dabei ein erneutes problem mit dem banner/bild-modul-code festgestellt.
habs im template eingefügt und es zeigt gar keine veränderung der seite..
aber an den 3 angegebenen dateien 00article, 00category und 00redaxo kanns ja nicht liegen, da sie in der version 3.1 schon aktuell sind.
hast du noch nen tipp ?
lg,
ape