Blättern mit wählbarem Startartikel

Gesperrt
volupp11
Beiträge: 94
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Blättern mit wählbarem Startartikel

Beitrag von volupp11 »

Nachdem ich mich vergeblich seit Stunden durch das Forum wühle, will ich mal hoffen, dass sich jemand erbarmt und antwortet. Ich brauche nämlich dringend ein Blättermodul, welches es ermöglicht die Startartikel wahlweise zu berücksichtigen. Artikel in Unterkatagorien oder darüberliegenden Kategorieebenen dürfen bei der Blätterfunktion keine Berücksichtigung finden.

Hier mal meinen bisherigen Code:

Code: Alles auswählen

/*********************************************** 
* CONTENIDO MODUL - INPUT 
* 
* Modulname   :     artikelblaettern 
* Author      :     smac 
* Created     :     21-09-2006 
* Created     :     21-09-2006 
************************************************/ 

$cms_idcat = "CMS_VALUE[10]";
echo '
		<table><tr><td class="text_medium" style="padding:5px">Kategorie wählen: </td></tr>
		<tr><td class="text_medium" style="padding:5px">';

echo buildCategorySelect("CMS_VAR[10]", "CMS_VALUE[10]");
echo '&nbsp;<input type="image" src="images/submit.gif"></td></tr>';
if ("CMS_VALUE[17]" != '') {
	$cms_include_start_article = ' checked';
} else {
	$cms_include_start_article = '';
}
echo '
        <tr>
          <td>'.mi18n("Startartikel in Liste einbeziehen").':</td>
          <td><input type="checkbox" name="CMS_VAR[17]" value="yes"'.$cms_include_start_article.'></td>
        </tr>';
echo " 
        <tr>  
          <td>Anzahl der angezeigten Zahlen (Anfang und Ende):</td> 
          <td><input type='text' name='CMS_VAR[1]' value='CMS_VALUE[1]'></td> 
        </tr> 
        <tr> 
          <td>Platzhalter:</td> 
          <td><input type='text' name='CMS_VAR[2]' value='CMS_VALUE[2]'></td> 
        </tr> 
        <tr> 
          <td>Linkname zurück:</td> 
          <td><input type='text' name='CMS_VAR[3]' value='CMS_VALUE[3]'></td> 
        </tr>    
        <tr> 
          <td>Linkname weiter:</td> 
          <td><input type='text' name='CMS_VAR[4]' value='CMS_VALUE[4]'></td> 
        </tr> 
        <tr> 
          <td>Sortierung:</td> 
          <td> 
           <select name='CMS_VAR[5]'>"; 
            if ("CMS_VALUE[5]" == "ARTLANG.created") { 
                  echo "<option value='ARTLANG.created' selected>Erstelldatum</option>"; 
            } else { 
               echo "<option value='ARTLANG.created'>Erstelldatum</option>'"; 
            } 
            if ("CMS_VALUE[5]" == "ARTLANG.lastmodified") { 
                  echo "<option value='ARTLANG.lastmodified' selected>Änderungsdatum</option>"; 
            } else { 
               echo "<option value='ARTLANG.lastmodified'>Änderungsdatum</option>'"; 
            } 
            if ("CMS_VALUE[5]" == "ARTLANG.published") { 
                  echo "<option value='ARTLANG.published' selected>Veröffentlichunsdatum</option>"; 
            } else { 
               echo "<option value='ARTLANG.published'>Veröffentlichunsdatum</option>'"; 
            } 
            if ("CMS_VALUE[5]" == "ARTLANG.title") { 
                  echo "<option value='ARTLANG.title' selected>Titel (Eigenschaften)</option>"; 
            } else { 
               echo "<option value='ARTLANG.title'>Titel (Eigenschaften)</option>'"; 
            } 
            if ("CMS_VALUE[5]" == "ARTLANG.summary") { 
                  echo "<option value='ARTLANG.summary' selected>Zusammenfassung</option>"; 
            } else { 
               echo "<option value='ARTLANG.summary'>Zusammenfassung</option>'"; 
            } 
            if ("CMS_VALUE[5]" == "ARTLANG.artsort") { 
                  echo "<option value='ARTLANG.artsort' selected>Sortierung</option>"; 
            } else { 
               echo "<option value='ARTLANG.artsort'>Sortierung</option>'"; 
            } 
echo "       </select> 
        </td> 
        </tr> 
        <tr> 
          <td>Sortierung:</td> 
          <td> 
           <select name='CMS_VAR[6]'>"; 
            if ("CMS_VALUE[6]" == "ASC") { 
                  echo "<option value='ASC' selected>aufsteigend</option>"; 
            } else { 
               echo "<option value='ASC'>aufsteigend</option>'"; 
            } 
            if ("CMS_VALUE[6]" == "DESC") { 
                  echo "<option value='DESC' selected>absteigend</option>"; 
            } else { 
               echo "<option value='DESC'>absteigend</option>'"; 
            } 
echo "       </select> 
        </td> 
        </tr> 
   </table> 
"; 

Code: Alles auswählen

<?php 

/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     artikelblaettern 
* Author      :     smac 
* Created     :     21-09-2006 
* Created     :     21-09-2006 
************************************************/ 


$anzahl = "CMS_VALUE[1]"; 
$platzhalter = "CMS_VALUE[2]"; 
$zurueck = "CMS_VALUE[3]"; 
$weiter = "CMS_VALUE[4]"; 
$sortiert = "CMS_VALUE[5]"; 
$steigung = "CMS_VALUE[6]"; 
// selected category
$selcat = "CMS_VALUE[10]";

$startartikel = "CMS_VALUE[17]"; 
if ($startartikel == '') $startartikel = false; 

if ($startartikel) {
$with_start = "";
} else {
$with_start = "AND CATART.is_start = '0'";
}


if ($anzahl=="") $anzahl = 1; 
if ($platzhalter=="") $platzhalter = "..."; 
if ($sortiert=="") $sortiert = "ARTLANG.created"; 
if ($steigung=="") $steigung= "ASC"; 


$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, CATART.is_start, ARTLANG.created 
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT 
WHERE CAT.idcat='$selcat' 
AND ARTLANG.idart = CATART.idart 
AND CATART.idcat = CAT.idcat 
AND ARTLANG.idlang = '$lang' 
AND ARTLANG.online = '1' 
".$with_start."
ORDER BY ".$sortiert." ".$steigung; 


$db->query($sql); 
if ($db->num_rows() != 0) 
{ 
echo "<div id='uebersicht'>"; 
$artikel = array(array()); 
$j=0; 
$db->next_record(); 
$idart_last=$db->f("idart"); 
for ($i=0; $i<$db->num_rows(); $i++) 
{ 
$artikel[$j][0] = $db->f("idart"); 
$artikel[$j][1] = $db->f("idcat"); 

$type = $db->f("idtype"); 
$typeid = $db->f("typeid"); 

while ( $idart_last==$db->f("idart") ) 
{ 
$idart_last=$db->f("idart"); 
$db->next_record(); 
$i++; 
} 

$idart_last=$db->f("idart"); 
$j++; 
$i--; 
} 



// Zurückblättern 
for ($i=0; $i < $j; $i++) 
{ 
   if ($idart==$artikel[$i][0] && $i!=0) { 
      $x = $i-1; 
      $zurueck_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0]; 
      echo "<a href='".$sess->url("$zurueck_link")."'>".$zurueck."</a> "; 
   } 
} 


// Zahlen und Platzhalter 
for ($i=0; $i < $j; $i++) 
{ 

   $k = $i+1; 
    
   $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]; 

   if ($idart!=$artikel[$i][0]) { 
      if ( $k <= $anzahl || $k > $j-$anzahl) { 
         echo "<a href='".$sess->url("$navmod_link")."'>".$k."</a> "; 
      } 
   } else { 
      if ($k != 1 && $k != 2) { echo $platzhalter." " ; }; 
      echo $k." "; 
      if ($k != $j-1 && $k != $j) { echo $platzhalter." "; }; 
   }    
    
} 

// Weiterblättern 
for ($i=0; $i < $j; $i++) 
{ 
   if ($idart==$artikel[$i][0] && $i != $j-1) { 
      $y = $i+1; 
      $weiter_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0]; 
      echo "<a href='".$sess->url("$weiter_link")."'>".$weiter."</a> "; 
   } 
} 

echo "</div>"; 
} 


?>
Viele Grüsse

Volker
Wiesel
Beiträge: 10
Registriert: Do 26. Feb 2004, 10:35
Kontaktdaten:

Beitrag von Wiesel »

Hallo zusammen,

ich suche ebenfalls ein Modul mit dem ich durch alle Artikel einer Kategorie blättern kann.
Das ganze könnte in etwa so aussehen:
Seite: Bild Zurück 1 | 2 | 3 | 4 | 5 | 6 | 7 Weiter Bild
Aber ausschmücken kann man am Schluss noch..

Gibt es in der Richtung schon etwas fertiges oder muss man sich da selber bemühen?

Und spielt dafür die Version von Contenido eine Rolle?
Zur Zeit haben wir noch 4.4.4 im Einsatz, wollen aber bald auf die neueste wechseln.

Für Hilfe wäre ich sehr dankbar. :D

Gruß Wiesel
Wiesel
Beiträge: 10
Registriert: Do 26. Feb 2004, 10:35
Kontaktdaten:

Beitrag von Wiesel »

Ok, ich bin wiedereinmal durch weiteres Suchen fündig geworden.

Hier http://contenido.org/forum/viewtopic.php?t=14046 gibts alles was ich wollte. :D

Danke an dieser Stelle an alle Beteiligten^^

Gruß Wiesel
Gesperrt