CatLinkSummary

Gesperrt
pit
Beiträge: 96
Registriert: Mo 14. Apr 2003, 10:28
Wohnort: Rotenhain
Kontaktdaten:

CatLinkSummary

Beitrag von pit »

Ich hatte die Anforderung aus unterschiedlichen Kategorien wichtige links zusammenzufassen, dabei ist das nachfolgende Modul rausgekommen - ich hoffe ich hab' das Rad nicht neu erfunden :wink: :

Name: CatLinkSummary

Beschreibung:
Links from different categories (it should not be more than 10) could be combined in a special group.
The group could be named (labeled) eg "special group" or "quick find" and is shown as list (li).
Links aus verschiedenen Kategorien (es sollten nicht mehr als 10 sein) können in einer Gruppe zusammengefasst werden.
Diese erhält einen Namen (Überschrift) z.B. "besonders hervorzuheben" oder "schnell gefunden" und wird als Liste (li) dargestellt.

Autor: pit
Version 0.1

Modul-Eingabe:

Code: Alles auswählen

?><?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     CatLinkSummary
* Author(s)   :     Peter Benner (pit)
* Copyright   :     PBR-EDV, Peter Benner
* Created     :     07.12.2006 for C-4.6.15
************************************************/
$sListName="CMS_VALUE[10]";
$iNumberOfLinks="CMS_VALUE[11]";
if (!is_object($dbtemp)) {
   $dbtemp = new DB_Contenido;
}
echo mi18n("name of the list (label): ");
echo '<input type="text" name="CMS_VAR[10]" value="CMS_VALUE[10]"><br>';
echo mi18n("number of categories (max. 10): ");
echo "<input type=\"text\" name=\"CMS_VAR[11]\" value=\"CMS_VALUE[11]\">";
echo "<input type=\"image\" src=\"images/submit.gif\">";
if ($iNumberOfLinks>10) $iNumberOfLinks=10;
if ($iNumberOfLinks>0) {
   echo "<br>";
   for ($i=1;$i<=$iNumberOfLinks;$i++) {
      $sSelected[$i] = "CMS_VALUE[$i]";
      echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";
      echo "<tr valign=\"top\">";
      echo "<td>";
      echo mi18n("choose categorie:");
      echo "</td>";
      echo "<td>";
      echo "<select name=\"CMS_VAR[$i]\">";
      if($sSelected[$i]!="0" && $sSelected[$i]!=""){
         echo "<option value=\"0\">";
         echo mi18n("--- no ---");
         echo "</option>";
         }else{
            echo "<option selected=\"selected\" value=\"0\">";
            echo mi18n("--- no ---");
            echo "</option>";
         }
         // fetch all categories
         $sQuery = "SELECT A.idcat, A.level, C.name ";
         $sQuery.= "FROM ".$cfg["tab"]["cat_tree"]." AS A, ";
         $sQuery.= "".$cfg["tab"]["cat"]." AS B, ";
         $sQuery.= "".$cfg["tab"]["cat_lang"]." AS C ";
         $sQuery.= "WHERE A.idcat=B.idcat ";
         $sQuery.= "AND B.idcat=C.idcat ";
         $sQuery.= "AND C.idlang='$lang' ";
         $sQuery.= "AND B.idclient='$client' ";
         $sQuery.= "AND C.visible=1 ";
         $sQuery.= "ORDER BY A.idtree";

         $dbtemp->query($sQuery);

         while ($dbtemp->next_record()) {
            
            $sSpaces = "|";

            $sLevels = $dbtemp->f("level");
            for ($ii = 0; $ii < $sLevels; $ii ++) {

               $sSpaces = $sSpaces . "--";
            } 
            $sSpaces .= ">";
            if ($sSelected[$i] == $dbtemp->f("idcat")) {

               echo "<option selected=\"selected\" value=\"". $dbtemp->f("idcat") ."\">". $sSpaces . $dbtemp->f("name") ."</option>";
            } else {

               echo "<option value=\"". $dbtemp->f("idcat") ."\">". $sSpaces . $dbtemp->f("name") ."</option>";
            } 
         } 
echo "</select>
     </td>
    </tr>
   </table>";
   }
}
?><?php
Modul-Ausgabe:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     CatLinkSummary
* Author(s)   :     Peter Benner (pit)
* Copyright   :     PBR-EDV, Peter Benner
* Created     :     07.12.2006
************************************************/

$sListName="CMS_VALUE[10]";
$iNumberOfLinks="CMS_VALUE[11]";
if (!is_object($dbtemp)) {
   $dbtemp = new DB_Contenido;
}
if (!is_object($oTpl)) {
   $oTpl = new Template;
}
$oTpl->reset(); 
$oTpl->set("s","LIST_NAME", mi18n($sListName)); 
if ($iNumberOfLinks>10) $iNumberOfLinks=10;
for ($i=1;$i<=$iNumberOfLinks;$i++) {
   $sLink[$i]="CMS_VALUE[$i]";
   if ($sLink[$i]!="") {
      $sQuery = "SELECT name FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='$sLink[$i]' ";
      $sQuery.= "AND visible=1 ";

      $dbtemp->query($sQuery);

      $dbtemp->next_record();
      $sCatLink='<a href="'.$sess->url('front_content.php?idcat='.$sLink[$i]).'&client='.$client.'&lang='.$lang.'">'.$dbtemp->f("name").'</a></li>';
      $oTpl->set("d", "CAT_LINK", $sCatLink); 
   }
	$oTpl->next();
}
$oTpl->generate($cfgClient[$client]["path"]["frontend"]."templates/catList.html");
?>
Modul-Template: (catList.html)

Code: Alles auswählen

<!-- category link module for contenido 4.6.x --> 
<div>{LIST_NAME}</div>
<ul> 
   <!-- BEGIN:BLOCK -->    
         <li>{CAT_LINK}</li> 
   <!-- END:BLOCK --> 
</ul>
Vielleicht kann der eine oder die andere das Modul brauchen.
Kritik ist erwünscht.
Die alten Zeilen wurden schlecht und man begann sie wegzuschmeissen, die neuen kamen grade recht um sich an ihnen zu verbeissen! (frei nach Heinz Erhardt)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

nettes modul...
*** make your own tools (wishlist :: thx)
Gesperrt