Modul: Dropdown mit Artikelliste einer bestimmten Kategorie

Gesperrt
chpulat
Beiträge: 27
Registriert: Di 3. Mär 2009, 15:32
Kontaktdaten:

Modul: Dropdown mit Artikelliste einer bestimmten Kategorie

Beitrag von chpulat »

Hallo, hier mal weider etwas, das ich mit Hilfe der Community in diesem Threat entwickelt habe und euch nun nicht vorenthalten will.

Auf Grund meiner beschränkten Zeit und da ich es nur an einer Stelle brauche ist relativ viel hardgecodet (z.B. die Quellkategorie). Also wenn jmd dieses Modul nutzen will, muss er es entweder selber anpassen können oder versuchen hier nachzufragen.

FEATURES:
  • Sprachwahl möglich
  • An/Abschaltbar
  • Dropdown mit den Artikeln einer Kategorie
  • Halbwegs schöne URLs
Wichtig. Die Links, die das Modul produziert sind mit der Onboard-Variante von Contenido 4.8.11 für SEO url "fast" lesbar. es benötigt einfach nur einwinig .httaccess dazu sie entsprechend umzuwandeln. Es gibt viele unschöne Sachen, aber bei meinen Zewcken reiches Sie. Bei Zeiten könnte man die SQL-Abfrage verbessern...

Alles ohne Gewähr! (.. aber mit Pistole ;-))

Aber wie gesagt, da ich nicht nur nehmen will, kann dies ja jmd als Anregung nehmen.

Version vom April 2009 in Versionsnummern sagen wir ne V0.5

Input:

Code: Alles auswählen

?>
<table>
  <tr>
    <td><?php echo mi18n("Dropdown nutzen?");?></td>
    <td><input type="text" name="<?php echo "CMS_VAR[10]"; ?>" value="<?php echo "CMS_VALUE[10]"; ?>"></td>
  </tr>
  <tr>
    <td colspan=2>Dropdown nutzen: "NUTZEN" eintragen</td>
  </tr>
   <tr>
    <td colspan=2>Dropdown nicht nutzen Feld leer lassen</td>
  </tr>
    <tr>
    <td><?php echo mi18n("SprachID?");?></td>
    <td><input type="text" name="<?php echo "CMS_VAR[11]"; ?>" value="<?php echo "CMS_VALUE[11]"; ?>"></td>
  </tr>
  <tr>
    <td colspan=2>Wenn keine Sprachselektion gewünsch einfach leer lassen.</td>
  </tr>
</table>
<?php
Output

Code: Alles auswählen

<?php  
  $activ = "CMS_VALUE[10]";
  $spr = "CMS_VALUE[11]";
 
  if (!($activ=="")){
  
if (ISSET($spr) && !($spr==""))
  {
      $imba="SELECT `con_art_lang`.`online`, `con_art_lang`.`artsort`, `con_art_lang`.`idart`, `con_art_lang`.`title`, `con_cat_art`.`idcat`, `con_cat_art`.`idart` FROM con_art_lang, con_cat_art WHERE ((`con_art_lang`.`online` =1)AND(`con_cat_art`.`idcat` =5) AND (`con_cat_art`.`idart` =`con_art_lang`.`idart`) AND (`con_art_lang`.`idlang`=".$spr.")) ORDER BY `con_art_lang`.`artsort` ASC;";
  } else {
  $imba="SELECT `con_art_lang`.`online`, `con_art_lang`.`artsort`, `con_art_lang`.`idart`, `con_art_lang`.`title`, `con_cat_art`.`idcat`, `con_cat_art`.`idart` FROM con_art_lang, con_cat_art WHERE ((`con_art_lang`.`online` =1)AND(`con_cat_art`.`idcat` =5) AND (`con_cat_art`.`idart` =`con_art_lang`.`idart`)) ORDER BY `con_art_lang`.`artsort` ASC";
  }
  $db->query($imba);
  $link="";
 /*Leider hardgecodetes CSS*/
  echo '<form name="select1">Artikelauswahl:    <select name="select" style="border-style: solid; border-width: 1px; border-color: #dedede; background-color:#dedede; font-family: verdana,sans-serif; font-size: 10px;" onchange="if (this.options[this.selectedIndex].value.length!=0) location=this.options[this.selectedIndex].value">';
  echo '<option selected value="0">Bitte wählen sie ein Artikel</option>';
/*mein kleiner URL_BUILDER*/
  while ($db->next_record())
       {  
         $link="http://www.domain.de/neu/Kategoriename/";
         /*Der Startartikel soll in der URL kein Unterordnernamen bekommen*/
         If (!($db->f("title")=="Katorgoriename")) {$link .= str_replace(' ', '',$db->f("title"))."/";}
         else {$link .= "UEbersicht/";}         
         /*hier muss man eine eigene URL-Art eingeben hier nach dem Muster index-b-idcat-idart.html*/
         $link .= "index-b-".$db->f("idcat")."-".$db->f("idart").".html"; 
         echo '<option value='.$link.'>'.$db->f("title").'</option>'."\n";       
       }
  echo '</select></form>';
  }
?>
Viel Spaß damit Christian
Gesperrt