smarty

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • smarty

    Mit getAllNodes(); von der NestedSet Klasse hole ich mir die Navigationseinträge aus der Datenbank. Das Ganze übergeben ich dann mit $smarty->assign("klaus", $treeItems2); an Smarty um es dort in einer Schleife mit {section....} innerhalb einer Select-Box anzeigen zu lassen.

    Aus irgendwelchen Grund funktioniert die Ausgabe mit dem Array was ich von der NestedSet-Klasse zurück bekomme nicht. Wenn ich ein eigene Array nach genau dem Muster erstelle geht es allerdings.

    Hört sich seltsam an, ist aber so ;-(.

    Auslesen aus der Datenbank und Übergabe an Smarty:
    PHP-Code:
    $dsn 'mysql://xxx:xxx@localhost/xxxx'

    $params = array( 
        
    'STRID'        => 'id'
        
    'ROOTID' => 'rootid'
        
    'l'   => 'l'
        
    'r'  => 'r'
        
    'PARENT' => 'parent'
       
    'STREH' => 'norder'
        
    'LEVEL'     => 'level'
        
    'STRNA'      => 'name' 
    ); 

    $tables = array( 
            
    'node_table' => 'tb_nodes'
            
    'lock_table' => 'tb_locks' 
    ); 

    require_once(
    'DB/NestedSet.php'); 

    $nested = & DB_NestedSet::factory'DB'$dsn$params); 
    if(
    PEAR::isError($nested)) { 
        echo 
    $nested->getCode().": ".$nested->getMessage(); 


    $treeItems2 $nested->getAllNodes(13);

    $smarty->assign("klaus"$treeItems2);

    print_r($treeItems2);

    $smarty->display('navigation_anlegen.html'); 
    Meine Smarty-Datei:
    PHP-Code:
    <select name="untermenue" size="1" class="select">
    <
    option value="1">Root
    {section name=test loop=$klaus2}
        {
    $klaus2[test].name} -<br>
    {/
    section}
    </
    select
    Array:
    PHP-Code:
    Array
    (
        [
    13] => Array
            (
                [
    id] => 13
                
    [rootid] => 13
                
    [l] => 1
                
    [r] => 16
                
    [parent] => 0
                
    [norder] => 1
                
    [level] => 1
                
    [name] => Testnavigation
            
    )

        [
    14] => Array
            (
                [
    id] => 14
                
    [rootid] => 13
                
    [l] => 2
                
    [r] => 15
                
    [parent] => 0
                
    [norder] => 1
                
    [level] => 2
                
    [name] => Unternavigation
            
    )

        [
    15] => Array
            (
                [
    id] => 15
                
    [rootid] => 13
                
    [l] => 3
                
    [r] => 4
                
    [parent] => 0
                
    [norder] => 1
                
    [level] => 3
                
    [name] => TESTMAC
            
    )

    » http://www.htaccess-generator.com

  • #2
    Wenn du dir selbst ein Array anlegst, hat das dann auch die IDs 13, 14 und 15?
    Oder 0, 1 und 2?
    Ich könnte mir vorstellen, dass Smarty damit Probleme hat
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Du hattest recht... ich habe mit

      PHP-Code:
      $treeItems2 array_merge($treeItems2); 
      die Array`s bei 0 anfangen lassen. Nun geht es... vielen Dank!
      » http://www.htaccess-generator.com

      Kommentar

      Lädt...
      X