autm. weiterleitung an externen link

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

autm. weiterleitung an externen link

Beitragvon holger_76 » 8. Dez 2005, 23:45

ich möchte dass beim anwählen eines links vom hauptnav sich eine neues browserfenster öffnet und zu einer vordefinierten seite verbunden wird, ohne eine zwischenseite und manuellen klick.
wie geht das?
holger_76
 

Beitragvon Thomas.Blum » 9. Dez 2005, 00:02

Hej,

du möchtest also in der Hauptnavi einen externen Link einfügen?

Dann musst du dir das NaviTemplate ansehen. Am besten frgst du nach der CatId und setzt dann die Url des externen Link

if (§$lev1->getId() == 5) $link = '<a href="http://redaxo.de" target="_blank">';
else $link = '<a href="'.rex_getUrl($lev1->getId()).'">';

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon holger_76 » 9. Dez 2005, 00:27

tbaddade hat geschrieben:Hej,

du möchtest also in der Hauptnavi einen externen Link einfügen?

Dann musst du dir das NaviTemplate ansehen. Am besten frgst du nach der CatId und setzt dann die Url des externen Link

if (§$lev1->getId() == 5) $link = '<a href="http://redaxo.de" target="_blank">';
else $link = '<a href="'.rex_getUrl($lev1->getId()).'">';

vg Thomas


hallo thomas,

danke auch für die hilfe zum anderen thema. wo füge ich diese zeilen im template ein? habe noch das default von der demo.
holger_76
 

Beitragvon Thomas.Blum » 9. Dez 2005, 00:44

holger_76 hat geschrieben:danke auch für die hilfe zum anderen thema. wo füge ich diese zeilen im template ein? habe noch das default von der demo.



hier die vertikale navi:

Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


/* START 1st level categories */
$navLeftCol .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
      
   
   if ($lev1->isOnline()):
      if ($lev1->getId() == 5) $link = 'href="http://redaxo.de" target="_blank"';
      else $link = 'href="'.$lev1->getUrl().'"';
      
      if ($lev1->getId() == $path1) {
         $navLeftCol .= '<li class="active"><a class="current" '.$link.'>'.$lev1->getName().'</a>';
         if ($lev1->getId() != "1") {
            $sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         }
         $titlePath .= ' >> '.$lev1->getName();
      }
      // 1st level - no active link
      else {
         $navLeftCol .= '<li><a '.$link.'>'.$lev1->getName().'</a>';
      }
         
      // 1st level had categories? -> go on
      $lev1Size = sizeof($lev1->getChildren());
   
      if ($lev1Size != "0"):
         $navLeftCol .= '<ul class="nav2nd">';


         // START 2nd level categories
         foreach ($lev1->getChildren() as $lev2):
                  
            if ($lev2->isOnline()):
   
            // 2nd level - active link
               if ($lev2->getId() == $path2) {
                  $navLeftCol .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
                  $sitePath .= ' ›› <a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  $titlePath .= ' >> '.$lev2->getName();
               }
               // 2nd level - no active link
               else {
                  $navLeftCol .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
               }
         
            endif;         
            
         endforeach;
         // END 2nd level categories
      
         $navLeftCol .= '</ul>';
      endif; // END by if ($lev1Size != "0"):
      
      $navLeftCol .= '</li>';

   endif; // END by if ($lev1->isOnline())
}
$navLeftCol .= '</ul>';
// END 1st level categories

if ($REX['CUR_CLANG'] == 1) $breadcrumb = 'You are here: <a href="/index.php?clang=1">Startpage</a> '.$sitePath;
else $breadcrumb = 'Sie befinden sich hier: <a href="/index.php">Startseite</a> '.$sitePath;


?>


hier wird die cat mit der id 5 eine externe url zugewiesen

thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon holger_76 » 9. Dez 2005, 00:47

holger_76 hat geschrieben:
tbaddade hat geschrieben:Hej,

du möchtest also in der Hauptnavi einen externen Link einfügen?

Dann musst du dir das NaviTemplate ansehen. Am besten frgst du nach der CatId und setzt dann die Url des externen Link

if (§$lev1->getId() == 5) $link = '<a href="http://redaxo.de" target="_blank">';
else $link = '<a href="'.rex_getUrl($lev1->getId()).'">';

vg Thomas


hallo thomas,

danke auch für die hilfe zum anderen thema. wo füge ich diese zeilen im template ein? habe noch das default von der demo.


habe horizontal und vertikales nav, der externe link soll im horizontalen rein "fan-shop"
holger_76
 

Beitragvon Thomas.Blum » 9. Dez 2005, 00:54

funktioniert genauso, habe nur die skalare verändert ;-)

Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


/* START 1st level categories */
$navHeader .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
      
   if ($lev1->isOnline()):
      if ($lev1->getId() == 5) $link = 'href="http://redaxo.de" target="_blank"';
      else $link = 'href="'.$lev1->getUrl().'"';
      
      if ($lev1->getId() == $path1) {
         $navHeader .= '<li class="active"><a class="current" '.$link.'>'.$lev1->getName().'</a>';
         if ($lev1->getId() != "1") {
            $sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         }
         $titlePath .= ' >> '.$lev1->getName();
      }
      // 1st level - no active link
      else {
         $navHeader .= '<li><a '.$link.'>'.$lev1->getName().'</a>';
      }
      
      // 1st level had categories? -> go on
      $lev1Size = sizeof($lev1->getChildren());
   
      if ($lev1->getId() == $path1) {
      if ($lev1Size != "0"):
         $navLeftCol .= '<ul class="nav2nd">';
         $navLeftCol .= '<li><strong>Unterkategorien</strong></li>';


         // START 2nd level categories
         foreach ($lev1->getChildren() as $lev2):
                  
            if ($lev2->isOnline()):
   
            // 2nd level - active link
               if ($lev2->getId() == $path2) {
                  $navLeftCol .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  $sitePath .= ' ›› <a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  $titlePath .= ' >> '.$lev2->getName();
               }
               // 2nd level - no active link
               else {
                  $navLeftCol .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
               }
               
         
               // 2nd level had categories? -> go on
               $lev2Size = sizeof($lev2->getChildren());
               if ($lev2Size != "0"):
                  $navLeftCol .= '<ul class="nav3rd">';
                  foreach ($lev2->getChildren() as $lev3):
                  
                     if ($lev3->isOnline()):
   
                        // 3rd level - active link
                        if ($lev3->getId() == $path3) {
                           $navLeftCol .= '<li class="active"><a class="current" href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
                           $sitePath .= ' ›› <a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
                           $titlePath .= ' >> '.$lev3->getName();
                        }
                        // 2nd level - no active link
                        else {
                           $navLeftCol .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
                        }
                     endif;
                  endforeach;
               
                  $navLeftCol .= '</ul>';
               endif;
               
               $navLeftCol .= '</li>';
         
            endif;         
            
         endforeach;
         // END 2nd level categories
      
         $navLeftCol .= '</ul>';
      endif; // END by if ($lev1Size != "0"):
      }
      $navHeader .= '</li>';

   endif; // END by if ($lev1->isOnline())
}
$navHeader .= '</ul>';
// END 1st level categories

if ($REX['CUR_CLANG'] == 1) $breadcrumb = 'You are here: <a href="/index.php?clang=1">Startpage</a> '.$sitePath;
else $breadcrumb = 'Sie befinden sich hier: <a href="/index.php">Startseite</a> '.$sitePath;



?>


thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon holger_76 » 9. Dez 2005, 15:34

[quote="tbaddade"]funktioniert genauso, habe nur die skalare verändert ;-)

auch das hat geklappt.

noch ein problem mit dem teaser.
dieser zeigt mir nun artikel an, die sich in der selben cat befinden. passiert auch gut bei mir.
aber die bilder aus diesen artikeln werden in der gleichen größe angezeigt, wie sie dann im artikel auch sind.

dadurch liegen die blocks nicht untereinandern. am besten mal anschauen. http://haschabuga.kostenloses-webhostin ... ticle_id=2
holger_76
 

Beitragvon Thomas.Blum » 9. Dez 2005, 15:44

holger_76 hat geschrieben:noch ein problem mit dem teaser.
dieser zeigt mir nun artikel an, die sich in der selben cat befinden. passiert auch gut bei mir.
aber die bilder aus diesen artikeln werden in der gleichen größe angezeigt, wie sie dann im artikel auch sind.


das mal ins css eintragen:
Code: Alles auswählen
#main-block .teaser {
   clear:both;
   margin-bottom:1.2em;
}


vg thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon holger_76 » 9. Dez 2005, 15:51

holger_76 hat geschrieben:
tbaddade hat geschrieben:funktioniert genauso, habe nur die skalare verändert ;-)

auch das hat geklappt.

noch ein problem mit dem teaser.
dieser zeigt mir nun artikel an, die sich in der selben cat befinden. passiert auch gut bei mir.
aber die bilder aus diesen artikeln werden in der gleichen größe angezeigt, wie sie dann im artikel auch sind.

dadurch liegen die blocks nicht untereinandern. am besten mal anschauen. http://haschabuga.kostenloses-webhostin ... ticle_id=2


wollte das ganze nun mit multilist (fertigesmodul) erstellen, da hier thumbnails erzeugt werden und die größe bestimmt. bekomme ich folgende fehlermeldung "Fatal error: Call to undefined function filterArticles() in"

würde auch gern in der multilist, sofern sie den funktioniert, die wörteranzahl beschränke. nur kann ich leider kein PHP
holger_76
 

Beitragvon Thomas.Blum » 9. Dez 2005, 15:58

Hej Holger,

zu allererst einmal hat das Thema jetzt hier nix mehr mit dem o.g. Thema zu tun. Es wäre daher schön, wenn du ein neues Thema anfängst auch auch ein neues Thema im Forum anlegst.

Zu deiner Frage:
Ich kenne das Modul nicht. Aber mit PHP hat das schon weniger zu tun, da man ja nur copy and paste machen brauch. DU musst hal nur die entsprechende Variable umändern.

vg Thomas

PS: zum Verständnis wären aber sicherlich PHP-Kenntnisse erforderlich. Man darf auch PHP lernen und glaube mir es lohnt sich allein schon für Redaxo.
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden


Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast