Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Änderung an Template - Datei product_info_v1.html wird nicht übernommen

    pk

    • Neu im Forum
    • Beiträge: 9
    Guten Tag,

    leider sehe ich nach Änderungen an der Datei : templates/bootstrap/module/product_info/product_info_v1.html keine Änderungen im Frontend, obwohl Änderungen der CSS-Datei templates/bootstrap/css/bootstrap.min.css sofort nach aktualisieren des Browsers angezeigt werden.

    Ich hatte Cache-dateien im Verdacht und habe auch im Backend unter Erweiterte Konfiguration -> Cache Optionen den Cach mithilfe beider Buttons gelöscht. Anschließend sogar von Hand nochmal alle Dateien im cache Verzeichniss außer index.html und .htaccess.

    Bin ich in der falschen Datei? Ich wollte im Shop auf dieser Seite https://demo.modified-shop.org/tags/modified-1.06/Testkategorie-1/Testartikel-1::1.html?MODsid=g1fjv7uu6lmtgrbvefssm6ktm0 Änderungen machen am Template.

    Ich hoffe ich war nicht einfach viel zu blöd bei der Suche, vielen Dank
    Patrick

    Linkback: https://www.modified-shop.org/forum/index.php?topic=34570.0

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Wie versuchst du die Datei zu ändern? Du hast doch gar keinen schreibenden Zugriff auf den offiziellen Demoshop?
    Falls du das "zuhause" auf deinem eigenen Webspace machst: Ist bei deinem Testartikel auch das korrekte Template auswählt (im Backend)

    pk

    • Neu im Forum
    • Beiträge: 9
    Ich habe den Demoshop nur verlinkt um zu zeigen wo ich arbeiten möchte. Natürlich möchte ich nicht den Demoshop, sondern meinen eigenen verändern :)

    Wäre die Templatedatei templates/bootstrap/module/product_info/product_info_v1.html denn wohl die richtige, wenn ich in meinem shop natürlich auch bootstrap als template angegeben habe?

    ok dank deines Hinweises habe ich nochmal in den Einstellungen zum Artikel  nachgesehen. Im Dropdownmenü war noch Bitte wählen Sie angegeben. Was nimmt es denn dann? Müsste es nicht irgendein Standard nehmen und im besten Fall dass aus dem entsprechendem Template?

    Edit: Problem grundsätzlich gelöst! Im Artikel muss das entsprechende Template ausgewählt werden / sein!
    Vorlage für Artikeldetails:   Bitte wählen Sie!
    Vorlage für Artikeloptionen:   table_listing.html

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Ja, es wird ein Standard genommen, habe aber vergessen welchen. Wenn ich das richtig in Erinnerung habe, war das irgendwas mit .... lies das Verzeichnis aus und nimm die erste html Datei.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Das kann man übrigens in der /admin/includes/modules/new_product.php fest voreinstellen! Dann muss man nicht daran denken etwas auszuwählen! Da ist eine Funktion xtc_draw_ .... die das entsprechende Eingabefeld generiert.
    Da muss für den Default wert dann eine Abfrage rein. Wenn leer dann product_info_v1.html, sonst den Wert nehmen der schon da war.
    Code: PHP  [Auswählen]
            <tr>
              <td><span class="main"><?php echo TEXT_CHOOSE_INFO_TEMPLATE; ?>:</span></td>
              <td class="main"><?php
                            // If the info template of the product is not set ...
                            if ( $pInfo->product_template == "" ) {
                                    $pInfo->product_template = 'product_info_v1.html';
                            }
                            echo $catfunc->create_templates_dropdown_menu('info_template', '/module/product_info/', $pInfo->product_template ,'style="width: 220px"'); ?></span></td>
            </tr>
     

    pk

    • Neu im Forum
    • Beiträge: 9
    Wenn ich nicht an die falsche Stelle gegangen bin, würde ich behaupten, dass diese Lösung nicht funktioniert. Zumindest greift dies nicht, wenn ich in bestehende Artikel gehe.

    Es würde mir aber auch generell wenig helfen, da ich so ja auch noch mal in jeden Artikel rein müsste und diesen abspeichern müsste... Das mach ich dann eher über die Datenbankeinträge, bzw. über den Importer des WaWi.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Nein, das ist für NEUE Artikel die man manuell mit dem Backend anlegt. Bestehende wäre ein SQL Query.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Warum nicht mit einem simplen mySQL-Befehl in phpMyAdmin ?
    Code: SQL  [Auswählen]
    UPDATE products SET product_template = 'NAME_DES_GEWUENSCHTEN_TEMPLATES';

    Gruß,
    noRiddle

    pk

    • Neu im Forum
    • Beiträge: 9
    Vielen Dank, mit dem SQL Befehl klappt das.

    Leider ist die Situation so, dass mein Kunde seine Produkte von einer Warenwirtschaft importiert und dabei das Template nicht gesetzt wird (da ist ein anderer Programmierer zuständig, der das erstmal nicht ändern möchte.). Ich möchte dem Kunden wiederum nicht SQL ausführen lassen über phpmyadmin. Ich denke ich werde einen Button im Backend einfügen den er benutzen kann, ähnlich wie Cache leeren.

    Falls das klappt, werde ich euch diese Lösung hier gerne zur Verfügung stellen.

    Schöne Grüße
    Patrick

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Innerhalb des Verzeichnisses /product_info/ sind mehrere Dateien. Benenne die Dateien so um, dass die gewünschte Templatedatei als erstes im Verzeichnis erscheint. Diese Datei wird dann immer genommen, wenn nichts anderes im Backend oder der Datenbank eingetragen ist.

    Wenn im Backend nichts ausgewählt wird, würde sowieso "default" in der Datenbank stehen und diese Angabe heißt für das Shopsystem, dass die erste Datei aus dem Verzeichnis /product_info/ als Templatedatei genommen werden soll.

    Gruß
    Ronny

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    ...oder du gehst in die /includes/modules/product_info.php und ersetzt dies
    Code: PHP  [Auswählen]
      // get default product_info template
      if ($product->data['product_template'] == '' || $product->data['product_template'] == 'default') {
        $files = array ();
        if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/')) {
          while ($file = readdir($dir)) {
            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/'.$file) && (substr($file, -5) == ".html") && ($file != "index.html") && (substr($file, 0, 1) !=".")) {
              $files[] = $file;
            }
          }
          closedir($dir);
        }
        sort($files);
        $product->data['product_template'] = $files[0];
      }

    hiermit
    Code: PHP  [Auswählen]
      // get default product_info template
      if ($product->data['product_template'] == '' || $product->data['product_template'] == 'default') {
        //BOC load always a certain template because of JTL, DEIN_KÜRZEL
        /*$files = array ();
        if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/')) {
          while ($file = readdir($dir)) {
            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/'.$file) && (substr($file, -5) == ".html") && ($file != "index.html") && (substr($file, 0, 1) !=".")) {
              $files[] = $file;
            }
          }
          closedir($dir);
        }
        sort($files);
       
        $product->data['product_template'] = $files[0];*/

        $product->data['product_template'] = 'NAME_DER_DATEI.html';
        //EOC load always a certain template because of JTL, DEIN_KÜRZEL
      }

    Das spart auch das Auslesen des Verzeichnisses /module/product_info/ im Template.
    NAME_DER_DATEI ersetzt du natürlich mit dem Namen der Datei :-D.

    Gruß,
    noRiddle
    13 Antworten
    7363 Aufrufe
    04. Februar 2010, 13:18:00 von Tomcraft
    55 Antworten
    17919 Aufrufe
    24. Februar 2016, 12:11:05 von Bonsai
    2 Antworten
    2637 Aufrufe
    16. November 2014, 21:37:51 von mtmobile