Dynamisches Banner mit Modul im Template?

Wie verwendet man Module oder Aktion und passt diese an.

Dynamisches Banner mit Modul im Template?

Beitragvon cardillac » 22. Feb 2008, 11:52

Hi Redaxo-Gemeinde,

ich habe ein Template erstellt, dass aus DIVs für

Banner
Breadcrump
linke Navi
Content
rechte Navi
Footer

besteht.

Jetzt möchte ich über das Backend(Redaxo-Admin) die Banner bestimmen können, sprich jede Haupt-Kategorie hat ihr eigenes Banner.

Ich dachte zunächst daran ein Modul zu programmieren, aber das kann ja nur Slices in einem Artikel erzeugen. Das Banner ist aber bereits Teil des Templates.

Frage: Welche Varinate ist besser bzw. setzt ihr ein, geht überhaupt:

1. Banner im Template per PHP bestimmen

2. Banner aus Template auslagern und im Artikel mit Modul als Slice erzeugen(dann wird es aber Artikel-spezifisch)

3. Banner im Bereich Metadaten bestimmen (Dazu müsste man dort etwas hinzuprogrammieren, oder?)

4. anderer Ansatz?

Danke für Eure Tips!

Grüße,
cardillac.
cardillac
 
Beiträge: 12
Registriert: 16. Jan 2008, 13:08

Beitragvon Markus.Staab » 22. Feb 2008, 12:00

Hi cardillac.

einfach via MetaInfos ein Feld "Banner" o.ä. als REX_LINK_BUTTON anlegen und dieses dann im Template mit $this->getValue('art_banner') auslesen.

Evtl noch mit Fallback wenn $this->getValue('art_banner') leer sein sollte via OOArticle::getParentTree() solange die Vater Kategorie auslesen bis was passendes dabei ist..

Ähnlich wie hier, nur eben direkt im Tempate.

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

Ich raffe es nicht....

Beitragvon Hitide » 6. Okt 2008, 12:59

Ich möchte meine Template mit dynamischen Bannern ausstatten,

art_banner ist angelegt:

das Banner soll im div container banner angezeigt werden:
Code: Alles auswählen
<?php

// Notices ausschalten
// error_reporting(E_ALL ^ E_NOTICE);

//   Setting
////////////////////////////////////////////////////////////////////////////////


   $navTemplateId = "2";


//   Code
////////////////////////////////////////////////////////////////////////////////

$article = OOArticle::getArticleById($REX['START_ARTICLE_ID'], $REX['CUR_CLANG']);
$articleK = $article->getValue("_keywords");
$articleD = $article->getDescription();

$navHeader = '';
$navTemplate = new rex_template($navTemplateId);   
include $navTemplate->getFile();
   
if($this->getValue("description") != "") {
   $meta_beschreibung = htmlspecialchars($this->getValue("description"));
} else {
   $meta_beschreibung = htmlspecialchars($articleD);
}
   
if($this->getValue("keywords")!= "") {
   $meta_suchbegriffe = htmlspecialchars($this->getValue("keywords"));
} else {
   $meta_suchbegriffe = htmlspecialchars($articleK);
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

   <head>
      <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
      <meta name="generator" content="Adobe GoLive" />
      <title>kamen</title>
<link rel="stylesheet" type="text/css" href="<?php echo $REX['HTDOCS_PATH'] ?>/files/css/navigation.css" media="screen" />   
<link href="files/css/basic.css" rel="stylesheet" type="text/css" media="all" />
      <style type="text/css" media="all"><!--
#main { color: #fff; background-color: #007a00; width: 760px; margin:0px auto; text-align:left; }
#banner { width: 760px; height: 155px; }
.dsR3 /*agl rulekind: base;*/ { width: 760px; height: auto; }
.dsR9 /*agl rulekind: base;*/ { background: #009600; margin:0px auto; text-align:left; width: 130px; vertical-align: top; }
.dsR11 /*agl rulekind: base;*/ {margin:0px auto; text-align:left; width: 500px; vertical-align: top; }
.dsR13 /*agl rulekind: base;*/ { background: #009600; margin:0px auto; text-align:left; width: 130px; vertical-align: top; }
--></style>
   </head>

   <body>
      <div id="main">
         <div id="banner">
            <img src="/files/layoutimg/banner_agility.jpg" alt="" height="155" width="760" border="0" /></div>


also anstelle von
Code: Alles auswählen
<img src="/files/layoutimg/banner_agility.jpg" alt="" height="155" width="760" border="0" />


Aber ich bekomme es nicht hin, wo muss ich
$this->getValue('art_banner')
einfügen ?

Wer kann mir helfen ?

Gruß

Hitide
Hitide
 
Beiträge: 36
Registriert: 11. Mai 2008, 19:16

Beitragvon Richard.Laing » 6. Okt 2008, 17:54

hi
wenn du

Code: Alles auswählen
<div id="banner"><?php print $this->getValue('art_banner');?></div>


und fertig

ich selber löse das aber eher über ctype nur so als denkanstoß, das ist das schöne an redaxo es gibt viele wege zum ziel

gruß richy
Benutzeravatar
Richard.Laing
 
Beiträge: 2109
Registriert: 27. Aug 2005, 23:55
Wohnort: Brühl / Rheinland

Beitragvon Hitide » 7. Okt 2008, 08:37

danke richy,

ich habe nun das Problem, dass ich das jeweilige banner nicht zuordnen kann.
es erscheint in der Anzeige nur das leere div.

Im Wenn ich in den Meta das Bild aus dem Mediapool einfüge, bleibt es leer.

Habe ich da was falsch verstanden????

Hitide
Hitide
 
Beiträge: 36
Registriert: 11. Mai 2008, 19:16

Beitragvon Richard.Laing » 7. Okt 2008, 08:48

hi
mit den meta kenne ich mich leider auch nicht so wirklich aus.

ich löse es über ctype.

dem entsprechenden ctype eine neue spalte hinzufügen. (unten beim template spalten ctype)

dann hast du 2 ausgaben einmal dein content:

Code: Alles auswählen
<?php print $this->getArticle(1); ?>


und dein banner

Code: Alles auswählen
<?php print $this->getArticle(2); ?>


im jeweiligen artikel erhälst du dann einen neuen menuepunkt dort dann das bild einfügen.

wenn du das nicht hinbekommst, kurze info mit zugangsdaten aber nur per pm

gruß richy
Benutzeravatar
Richard.Laing
 
Beiträge: 2109
Registriert: 27. Aug 2005, 23:55
Wohnort: Brühl / Rheinland

Beitragvon Hitide » 7. Okt 2008, 09:35

ich nehme die C-Types.....

Dank.... wieder mal :wink:

Gruß

Hitide
Hitide
 
Beiträge: 36
Registriert: 11. Mai 2008, 19:16


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast