Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183

    Menu php, inserire testo

    Salve,
    ho un menu realizzato interamente in php, le voci delle categorie sono richiamate da un DB; volevo inserire alla fine delle voci di menu, del testo (link) che somigli in tutto e per tutto ad una voce del menu ma che in realtà è stata inserita da me manualmente.
    .... vi allego il codice php ....

    Spero di essermi espresso in maniera corretta.


    Codice PHP:
    <?php

      
    function tep_show_category($counter) {
        global 
    $tree$categories_string$cPath_array;

        for (
    $i=0$i<$tree[$counter]['level']; $i++) {
          
    $categories_string .= "";
        }

        
    $categories_string .= '[b]<a href="';

        if (
    $tree[$counter]['parent'] == 0) {
          
    $cPath_new 'cPath=' $counter;
        } else {
          
    $cPath_new 'cPath=' $tree[$counter]['path'];
        }

        
    $categories_string .= tep_href_link(FILENAME_DEFAULT$cPath_new) . '">';

        if (isset(
    $cPath_array) && in_array($counter$cPath_array)) {
          
    $categories_string .= '[b]';
        }

    // display category name
        
    $categories_string .= $tree[$counter]['name'];

        if (isset(
    $cPath_array) && in_array($counter$cPath_array)) {
          
    $categories_string .= '[/b]';
        }

        if (
    tep_has_category_subcategories($counter)) {
          
    $categories_string .= '';
        }

        
    $categories_string .= '</a>[/b]';

        if (
    SHOW_COUNTS == 'true') {
          
    $products_in_category tep_count_products_in_category($counter);
          if (
    $products_in_category 0) {
            
    $categories_string .= '(' $products_in_category ')';
          }
        }

        
    $categories_string .= '

    '
    ;

        if (
    $tree[$counter]['next_id'] != false) {
          
    tep_show_category($tree[$counter]['next_id']);
        }
      }
    ?>

              <tr>
                <td>
    <?php
      $info_box_contents 
    = array();
      
    $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES);

      new 
    infoBoxHeading($info_box_contentstruefalse);

      
    $categories_string '';
      
    $tree = array();

      
    $categories_query tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");
      while (
    $categories tep_db_fetch_array($categories_query))  {
        
    $tree[$categories['categories_id']] = array('name' => $categories['categories_name'],
                                                    
    'parent' => $categories['parent_id'],
                                                    
    'level' => 0,
                                                    
    'path' => $categories['categories_id'],
                                                    
    'next_id' => false);

        if (isset(
    $parent_id)) {
          
    $tree[$parent_id]['next_id'] = $categories['categories_id'];
        }

        
    $parent_id $categories['categories_id'];

        if (!isset(
    $first_element)) {
          
    $first_element $categories['categories_id'];
        }
      }

      
    //------------------------
      
    if (tep_not_null($cPath)) {
        
    $new_path '';
        
    reset($cPath_array);
        while (list(
    $key$value) = each($cPath_array)) {
          unset(
    $parent_id);
          unset(
    $first_id);
          
    $categories_query tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd where c.parent_id = '" . (int)$value "' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");
          if (
    tep_db_num_rows($categories_query)) {
            
    $new_path .= $value;
            while (
    $row tep_db_fetch_array($categories_query)) {
              
    $tree[$row['categories_id']] = array('name' => $row['categories_name'],
                                                   
    'parent' => $row['parent_id'],
                                                   
    'level' => $key+1,
                                                   
    'path' => $new_path '_' $row['categories_id'],
                                                   
    'next_id' => false);
                                                    

              if (isset(
    $parent_id)) {
                
    $tree[$parent_id]['next_id'] = $row['categories_id'];
              }

              
    $parent_id $row['categories_id'];

              if (!isset(
    $first_id)) {
                
    $first_id $row['categories_id'];
              }

              
    $last_id $row['categories_id'];
            }
            
            
    $tree[$last_id]['next_id'] = $tree[$value]['next_id'];
            
    $tree[$value]['next_id'] = $first_id;
            
    $new_path .= '_';
            
          } else {
            break;
          }
        }
      }
      
    tep_show_category($first_element); 

      
    $info_box_contents = array();
      
    $info_box_contents[] = array('text' => $categories_string);

      new 
    infoBox($info_box_contents);
      

        
    ?>  
             

            </td>
              </tr>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    è un po' lunghetto... dunque: puoi vedere l'html generato (apri la pagina e visualizza il sorgente del browser), quindi copiati il blocco di una voce di menu (che dovresti replicare in coda) e fai degli echo alla fine del ciclo con questo codice cambiando i contenuti, altrimenti puoi aggiungere ai dati ricavati dal db un valore fittizio forzandone i valori

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Ho provato con degli "echo" però le scritte finiscono fuori dal layout del menu, che nello specifico è una tabella con dei bordi,
    quinidi se inserisco il testo questo viene disposto sopra o sotto la tabella e non dentro.



    Per quanto riguarda la voce del db da forzare, non sò neppure da dove iniziare !
    Purtroppo in materia sono un pò ignorante.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    nel tuo codice non si vede generazione di tag "TABLE"... probabilmente in qualche altra funzione... ci vogliono più info

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Allora....

    A) Nella index c'è questo tag Table:

    Codice PHP:
        
        <table width="198" border="0" align="left" cellpadding="0" cellspacing="0">   
        <?php require(DIR_WS_CARTELLA 'left.php'); ?>

        </table>

    B) Richiama questa pagina con questo codice:
    Codice PHP:
         <?php

           
    if ((USE_CACHE == 'true') && empty($SID)) {
           echo 
    tep_cache_categories_cartella();
           } else {
           include(
    DIR_WS_CARTELLA 'categories.php');
           
    ?>

    C) Poi in quella che ho già postato si vedono i due tag di apertura <tr> <td> e chiusura </tr></td>



    Se servono maggiori info fammi sapere.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ogni voce è un singolo TR con vari TD dentro? Se sì potrebbe bastare inserire il codice "statico" come un nuovo tag TR a fine codice...

    ...dovresti aprire la pagina, visualizzare il sorgente generato dal browser e - se non lunghissimo - postare il blocco HTML contenente le voci di menu (il tag TABLE generato, insomma)

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Questo è il risultato in HTML

    Codice PHP:
        
        
    <table width="198" border="0" align="left" cellpadding="0" cellspacing="0">



              <
    tr>
                <
    td>
    <
    table border="0" width="100%" cellspacing="0" cellpadding="0">

      <
    tr>
        <
    td height="14" class="infoBoxHeading">[img]images/infobox/corner_left.gif[/img]</td>
        <
    td width="100%" height="14" class="infoBoxHeading">[img]/cartella/cartella/images/catalogo_logo.gif[/img]</td>
        <
    td height="14" class="infoBoxHeading" nowrap>[img]images/pixel_trans.gif[/img]</td>
      </
    tr>
    </
    table>
    <
    table border="0" width="100%" cellspacing="0" cellpadding="1" class="infoBox">
      <
    tr>
        <
    td><table border="0" width="100%" cellspacing="0" cellpadding="3" class="infoBoxContents">
      <
    tr>

        <
    td>[img]images/pixel_trans.gif[/img]</td>
      </
    tr>
      <
    tr>
        <
    td class="boxText">
    [
    b][url="http://www.nomesito.it/cartella/catalog/index.php?cPath=1"]TITOLO 1[/url][/b]


    [
    b][url="http://www.nomesito.it/cartella/catalog/index.php?cPath=2"]TITOLO 2</[/url][/b]


    [
    b][url="http://www.nomesito.it/cartella/catalog/index.php?cPath=3"]TITOLO 3</[/url][/b]


    [
    b][url="http://www.nomesito.it/cartella/catalog/index.php?cPath=4"]TITOLO 4</[/url][/b]


    </
    td>

      </
    tr>
      <
    tr>
        <
    td>[img]images/pixel_trans.gif[/img]</td>
      </
    tr>
    </
    table>
    </
    td>
      </
    tr>
    </
    table>
      
             

            </
    td>
              </
    tr>


      


        </
    table

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Ok... ora puoi postare il codice HTML della voce che vorresti aggiungere e dove va messo? Mi pare di capire che vorresti aggiungere una riga tipo TITOLO 1

    in coda a quelle esistenti... è così? Posta il codice HTML che vorresti aggiungere

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Il codice da inserire è questo:

    TITOLO 5


    Si confermo quello che hai detto,
    và aggiunto in coda come se fosse una voce del menu.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Facciamo questa prova... individua nel codice questo blocco:

    Codice PHP:
    if ($tree[$counter]['next_id'] != false) { 
      
    tep_show_category($tree[$counter]['next_id']); 

    e cambialo aggiungendo un pezzo in coda così:
    Codice PHP:
    if ($tree[$counter]['next_id'] != false) { 
      
    tep_show_category($tree[$counter]['next_id']); 
    } else {
      print 
    '[b][url="http://www.nomesito.it/cartella/index.php"]TITOLO 5[/url][/b]';
    }; 
    ...e guarda cosa succede

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.