Ankündigung

Einklappen
Keine Ankündigung bisher.

eigenen (neuen) smarty definieren

Einklappen

Neue Werbung 2019

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

  • eigenen (neuen) smarty definieren

    Hallo Leute,

    als erstes hoffe ich das ich mein Beitrag im richtigen Forum poste.
    Das zweite ist, das sich mein php Problem auf ein shop-system bezieht. Ich sage das deshalb, weil es evtl. von Bedeutung sein um mein Problem zu lösen.
    XTC Commerce ist das System.


    Ich hab ein kleines Problem bei dem ich gestern 4 Stunden auf der Stelle getreten bin. Und zwar habe ich eine kleine DB Abfrage in der "Product_info.php" erstellt und zum test per ECHO ausgeben lassen. Klappt alles wunderbar soweit. Nun will ich aber keine echo Ausgabe der DB Abfrage in der "Product_info.php", weil es 1) die Seite zerreist und 2) es natürlich in die "Product_info_v1.html" gehört. Die "Product_info_v1.html" arbeitet aber mit den sogenannten smartys und genau da ist mein Problem. Ich kriege es einfach nicht hin das was ich aus der DB ausgelesen habe (in der product_info.php) in ein smarty zu packen um es dann in der "Product_info_v1.html" wiederzugeben/auszulesen.

    Würde mich sehr über etwas Hilfestellung oder Tips freuen.

    ps: hier ist mal der php code meiner Abfrage inkl. echo Ausgabe:

    PHP-Code:
    $categories_query xtc_db_query("SELECT bla bla FROM tabelle ");

    if (
    $number_of_categories 200) {
    $rows 0;
    echo 
    $product_info['products_name'] . ' Dieses zubehör könnte Sie interessieren: <table width="100%"><tr><td valign="top"><ul>';
    while (
    $categories xtc_db_fetch_array($categories_query)) {
    $rows++;
    $cPath_new xtc_get_path($categories['categories_id']);
    $width = (int)(100 MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
    echo 
    ' <li>' . ($categories['categories_name']) . '' "\n";
    if (
    $rows >= ($number_of_categories 3)) {
    echo 
    '</ul></td><td valign="top">' "\n";
    $rows=0;
    }
    }
    echo 
    '</ul></td></tr></table>';


    Wie gesagt die Abfrage inkl. der Ausgabe per Echo klappt wunderbar, aber sobald ich versuche die AUSGABE in ein smarty zu packen und es in der Template Datei aufzurufen, scheiter ich dauernd.

    Würde mich über etwas Hilfestellung oder Tips sehr freuen.

    Ps: da ich nicht genau weiß was man alles zugesicht bekommen muss um das Problem evtl. zu lösen, hänge ich die 2 Dateien (die php datei und die template datei) einfach mal an.

    Viele Grüße ernich.
    Angehängte Dateien


  • #2
    arbeitet aber mit den sogenannten smartys
    Falls Du nicht hiervon redest,

    solltest Du vielleicht jemanden mit Ahnung von Webentwicklung dransetzen.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Nein, ich rede NICHT von den essbaren smartys. Keine Angst ich versteh das smarty-system schon ansich, nur habe ich in meinem Fall Probleme mit der zuweisung(assign). Deswegen habe ich mich an das Forum hier gewandt.

      Freue mich weiterhin über nützliche Tips und Hilfestellungen zu meinem Problem.

      Grüße ernich.

      Kommentar


      • #4
        Naja, du erzeugst erstmal eine Smarty-Instanz, dann bastelst du dir mit PHP das Array so zusammen, wie es später von Smarty verarbeitet werden soll, weißt es Smarty zu (assign) und rufst zum Schluss das Template auf (display oder fetch).

        Kommentar


        • #5
          Ich weiß deine Hilfe wirklich sehr zu schätzen , aber das übersteigt meine Kentnisse dann doch etwas...ma gucken ob ich rausfinde wie ich damit anfange...

          Vielen dank dir.

          Kommentar


          • #6
            Schau dir doch mal die Beispiele an. Da siehst du gut wie man Smarty anwendet.

            Kommentar


            • #7
              Hab schon viele Beispiele angeguckt, die wie ich finde auch sehr verständlich waren. Doch wenn ich dann das ganze versuche auf mein "script" anzuwenden, scheiter ich aus irgen einem Grund.

              Als erstes smarty instanz erstellen mit:
              $smarty = new Smarty;

              das muss ich in meinem Fall nicht machen da es schon ganz oben in der product_info.php passiert:
              PHP-Code:
              $info_smarty = new Smarty;
              $info_smarty->assign('tpl_path''templates/'.CURRENT_TEMPLATE.'/');
              $group_check ''
              dann weiter unter kommt irgend wann mein script:
              PHP-Code:
              $categories_query xtc_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from (" TABLE_CATEGORIES " c INNER JOIN " .
               
              TABLE_CATEGORIES_DESCRIPTION " cd  ON  c.categories_id = cd.categories_id) INNER JOIN " TABLE_PRODUCTS_TO_CATEGORIES " p2c ON c.categories_id = p2c.categories_id WHERE  (((p2c.products_id)='" . (int)$HTTP_GET_VARS['products_id'] . "') AND ((c.parent_id)>0)) order by cd.categories_name");


                  if (
              $number_of_categories 200) {
                          
              $rows 0;
                          echo 
              $product_info['products_name'] . ' Dieses zubehör könnte Sie interessieren: <table width="100%"><tr><td valign="top"><ul>';
                          while (
              $categories xtc_db_fetch_array($categories_query)) {
                            
              $rows++;
                            
              $cPath_new xtc_get_path($categories['categories_id']);
                            
              $width = (int)(100 MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
                            echo 
              ' <li>' . ($categories['categories_name']) . '' "\n";
                            if (
              $rows  >= ($number_of_categories 3)) {
                              echo 
              '</ul></td><td valign="top">' "\n";
                              
              $rows=0;
                            }
                          }
                    echo 
              '</ul></td></tr></table>';
                    } 
              und daran versuche ich dann noch:
              $smarty->assign('XYZ', $categories['categories_name']);
              zu hängen und in der template datei dann per {$XYZ} aufzurufen.

              So versuche ich es z.Z.

              Gruß ernich.

              Kommentar

              Lädt...
              X