Home Help Search Register
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Join the BIGACE Team
Pages: [1]
  Print  
Author Topic: Smarty Funktion  (Read 2817 times)
0 Members and 1 Guest are viewing this topic.
Zerstoiber
Geek
****
Posts: 116


« on: May 20, 2008, 10:29:54 AM »

Hallo Zusammen

Ein Kollege von mir hat einmal auf der Basis von der Funktion "function.navigation.php" die Funktion "function.navitree.php" geschrieben. Meine Frage ist nun, ob man das in die nächste Version mit aufnehmen kann. Die Funktion Navitree, gibt wie der Name schon sagt einen Tree zurück, durch den man sich navigieren kann.

Jetzt habe ich aber noch ein Probleme mit der Version:
Leider wird mir in der Navigation immer nur die ID angezeigt und nicht der hinterlegte HTLM-Name. Ich denke da wird sich mit der letzten Bigace Version eine Änderunge gegeben haben. Ich hoffe es kann mir jemand helfen.

Nachfolgend der Code:


Code:
<?php

import
('classes.util.SmartyLink');
import('classes.util.LinkHelper');

/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     function.navigation.php
 * Type:     function
 * Name:     navigation
 * Purpose:  Prints a configurable Navigation
 * -------------------------------------------------------------
 */
function smarty_function_navitree($params, &$smarty)
{
$id = (isset($params['id']) ? $params['id'] : $GLOBALS['_BIGACE']['PARSER']->getItemID());
$lang = (isset($params['language']) ? $params['language'] : $GLOBALS['_BIGACE']['PARSER']->getLanguage());
$css = (isset($params['css']) ? ' class="'.$params['css'].'"' '');
$selected = (isset($params['selected']) ? ' class="'.$params['selected'].'"' '');
$pre = (isset($params['prefix']) ? $params['prefix'] : '');
$after = (isset($params['suffix']) ? $params['suffix'] : '');
$html = (isset($params['start']) ? $params['start'] : '');
$subpre = (isset($params['subprefix']) ? $params['subprefix'] : '');
$subafter = (isset($params['subsuffix']) ? $params['subsuffix'] : '');

$menu_info $GLOBALS['MENU_SERVICE']->getLightTreeForLanguage($id$lang);

if(isset($params['counter']))
$smarty->assign($params['counter'], $menu_info->count());

    for (
$i=0$i $menu_info->count(); $i++) 
    {
  
$class $css;
  
$temp_menu $menu_info->next();
  
if ($temp_menu->getID() == $GLOBALS['MENU']->getID() || $GLOBALS['MENU_SERVICE']->isChildOf($temp_menu->getID(), $GLOBALS['MENU']->getID())) {
  
$class $selected;
  
}
  
$link = new SmartyLink();
  
$link->setItemID($temp_menu->getID());
  
$link->setLanguageID($temp_menu->getLanguageID());
  
$html .= $pre "<a href=\"".LinkHelper::getUrlFromCMSLink($link)."\"".$class.">".$temp_menu->getName()."</a>";
      
$html .= $after."\n";   
  
if ($temp_menu->getID() == $GLOBALS['MENU']->getID() || $GLOBALS['MENU_SERVICE']->isChildOf($temp_menu->getID(), $GLOBALS['MENU']->getID())) {
  
  $menu_info2 $GLOBALS['MENU_SERVICE']->getLightTreeForLanguage($temp_menu->getID(), $lang);
  
  if ($menu_info2->count()>0$html .= $subpre."\n";
        for (
$ii=0$ii $menu_info2->count(); $ii++)
        {
      
$class $css;
      
$temp_menu2 $menu_info2->next();
      
if ($temp_menu2->getID() == $GLOBALS['MENU']->getID() || $GLOBALS['MENU_SERVICE']->isChildOf($temp_menu2->getID(), $GLOBALS['MENU']->getID())) {
      
$class $selected;
      
}
      
$link = new SmartyLink();
      
$link->setItemID($temp_menu2->getID());
      
$link->setLanguageID($temp_menu2->getLanguageID());
      
$html .= "<li class='level1' style='padding-left: 6px;'><a href=\"".LinkHelper::getUrlFromCMSLink($link)."\"".$class.">".$temp_menu2->getName()."</a>".$after."\n";
 
      $html .= $after."\n";   
      
if ($temp_menu2->getID() == $GLOBALS['MENU']->getID() || $GLOBALS['MENU_SERVICE']->isChildOf($temp_menu2->getID(), $GLOBALS['MENU']->getID())) {
      
  $menu_info3 $GLOBALS['MENU_SERVICE']->getLightTreeForLanguage($temp_menu2->getID(), $lang);
            if (
$menu_info3->count()>0$html .= $subpre."\n";
            for (
$iii=0$iii $menu_info3->count(); $iii++)
            {
          
$class $css;
          
$temp_menu3 $menu_info3->next();
          
if ($temp_menu3->getID() == $GLOBALS['MENU']->getID() || $GLOBALS['MENU_SERVICE']->isChildOf($temp_menu3->getID(), $GLOBALS['MENU']->getID())) {
          
$class $selected;
          
}
          
$link = new SmartyLink();
          
$link->setItemID($temp_menu3->getID());
          
$link->setLanguageID($temp_menu3->getLanguageID());
          
$html .= "<li class='level2' style='padding-left:10px;'><a href=\"".LinkHelper::getUrlFromCMSLink($link)."\"".$class.">".$temp_menu3->getName()."</a>".$after."\n";
            }
      
  if ($menu_info3->count()>0$html .= $subafter."\n";
      
}
        }
   
  if ($menu_info2->count()>0$html .= $subafter."\n";
  
}
    }
    return 
$html . (isset($params['end']) ? $params['end'] : '');
}
?>

Logged
Kevin
Global Moderator
BIGACE Guru
*****
Posts: 2601



WWW
« Reply #1 on: November 16, 2009, 01:43:39 PM »

Hallo Swen,
der Thread ist wohl irgendwie untergegangen... hast Du das Problem noch?
Wenn ja, ist die URL falsch oder der Seitenname?

Auf den ersten Blick würde ich sagen das Du die URLs anders erzeugen solltest mit LinkHelper::itemUrl($temp_menu)
Logged

BIGACE needs you. Join the Team! | BIGACE Plugins | Using BIGACE for your business? Like the support? Think about a donation!
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF | Simple Machines LLC