rechtstexte für onlineshop
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: MODUL: Inserttags als Smarty Modifier

    fiveBytes

    • Mitglied
    • Beiträge: 117
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #15 am: 15. Juli 2020, 10:39:33
    @mod2020
    zunächst einmal hast Du den Code unnötig aufgebläht ...
    aus dem Original:
    Code: PHP  [Auswählen]
    case 'product_img':
                                                                    case 'product_thumb':
                                                                            if ( $productsData['products_image'] != '' )
                                                                            {
                                                                                    $dir = DIR_WS_THUMBNAIL_IMAGES;
                                                                                    if ( strtolower( $elements[0] ) == 'product_img' ) $dir = DIR_WS_INFO_IMAGES;
                                                                                    $img = $dir . $productsData['products_image'];
                                                                                   
                                                                                    $tagCode = '<img' . ( ( $flag != '' && strposa( $flag, $arrImgFlags ) == 0 )?' ' . $flag:'' ) . ' src="/' . $mainModules->getImage( $img, $dir, PRODUCT_IMAGE_SHOW_NO_IMAGE, 'noimage.gif', $productsData['products_image'] ) . '" alt="' . $productsLinkTitle . '">';
                                                                            }
                                                                            break;
    wurde
    Code: PHP  [Auswählen]
    case 'product_img':
                                        if ( $productsData['products_image'] != '' )
                                        {
                                            $dir = DIR_WS_INFO_IMAGES;
                                            //if ( strtolower( $elements[0] ) == 'product_img' ) $dir = DIR_WS_INFO_IMAGES;
                                            $img = $dir . $productsData['products_image'];
                                            $tagCode = '<img' . ( ( $flag != '' && strposa( $flag, $arrImgFlags ) == 0 )?' ' . $flag:'' ) . ' src="/' . $mainModules->getImage( $img, $dir, PRODUCT_IMAGE_SHOW_NO_IMAGE, 'noimage.gif', $productsData['products_image'] ) . '" alt="' . $productsLinkTitle . '">';
                                        }
                                        break;
                                    case 'product_thumb':
                                        if ( $productsData['products_image'] != '' )
                                        {
                                            $dir = DIR_WS_THUMBNAIL_IMAGES;
                                            if ( strtolower( $elements[0] ) == 'product_img' ) $dir = DIR_WS_INFO_IMAGES;
                                            $img = $dir . $productsData['products_image'];

                                            $tagCode = '<img' . ( ( $flag != '' && strposa( $flag, $arrImgFlags ) == 0 )?' ' . $flag:'' ) . ' src="/' . $mainModules->getImage( $img, $dir, PRODUCT_IMAGE_SHOW_NO_IMAGE, 'noimage.gif', $productsData['products_image'] ) . '" alt="' . $productsLinkTitle . '">';
                                        }
                                        break;

    und außerdem ist das Ganze jetzt nur noch für einige wenige Templates nutzbar, da Du für die Realisierung der Boxen den kompletten HTML-Code mit in die Funktion gepackt hast. Der Begriff "extended" ist daher eher unpassend, besser wäre "special". Für die Realisierung der Boxen müsste man entweder ein eigenes (Mini)-Template mit integrieren oder ggf. (wenn möglich) eines der standarmäßig an Bord befindlichen Include-Templates nutzen oder man nimmt dafür einafch direkt ein anderes Modul (Themenwelten), welches dafür gedacht ist.

    Die Inserttags sind, wie der Name schon sagt, nur dazu da, um einzelne Tags im Quellcode zu erzeugen und nicht einen kompletten neuen Code mit zig Klassen und Tags.
    Trade Republic - Provisionsfrei Aktien handeln

    mod2020

    • Fördermitglied
    • Beiträge: 21
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #16 am: 15. Juli 2020, 13:45:36
    @fiveBtye:
    Ich verstehe Deine Einwände und denke, Du hast recht mit beiden Punkten.
    Vielleicht bin ich etwas zu enthusiastisch vorgeprescht. Ich suchte nach eine einfach Form, genau das zu lösen, was ich nun mithilfe Deines Scripts und meiner Anpassung sehr gut machen kann, nämlich sehr schnell "Feature-Produkte" auf Content-Seiten zu platzieren.
    Am Ende hab ich hier die Diskussion gesucht, weshalb mein letzter Beitrag mit dem Satz endet: "Vielleicht kann es jemand gebrauchen oder auch noch verbessern."
    In jedem Fall hat es mich gefreut, wie schnell und professionell Du reagiert hast!

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #17 am: 08. August 2021, 17:48:53
    Hallo Zusammen,
    gerne nutzen wir diese schöne Erweiterung, jedoch stoßen wir auf ein Problem.
    Wir nutzen zusätzlich das BETA MODUL: CustomersNotice - Hinweise für Kunden
    https://www.modified-shop.org/forum/index.php?topic=30451.0

    Was müssen wir ändern, damit auch in diesen Hinweisseiten z.B. der Link zum Produkt {{content::*}} angezeigt wird?

    Für einen Tipp wären wir dankbar.
    Liebe Grüße
    Wolfgang

    fiveBytes

    • Mitglied
    • Beiträge: 117
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #18 am: 08. August 2021, 19:40:00
    Hallo Wolfgang,
    mach mal im entsprechenden Modultemplate (oder auch in allen dreien) aus {$description} => {$description|inserttags}, dann sollte das eigentlich funzen.

    Gruß

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #19 am: 08. August 2021, 21:45:00
    Zitat
    aus {$description} => {$description|inserttags}

    Klasse das ist perfekt!
     :thumbs:
    Dankeschön.

    Wolfgang

    newbee79

    • Fördermitglied
    • Beiträge: 182
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #20 am: 31. Oktober 2021, 10:10:22
    Servus zusammen,

    wollte die inserttags mal bei mir im Shop probieren ( 2.0.6.0 ) - aber irgendwie zeigt es bei mir immer nur den ausgeschriebenen Tag an, z.B. {{product_title::*5}}

    Bin vorgegangen wie beschrieben: Datei im Template in den smarty-Ordner legen, dann in der index.html die "inserttags" anhängen ( {if isset($main_content)}{$main_content|inserttags}{/if} ) und dann bin ich im admin in eine Kategoriebeschreibung rein und habe den obigen Tag eingesetzt.... habe natürlich geschaut, ob es das Produkt mit der ID auch gibt!

    Habe ich jetzt einen Denkfehler, oder bin ich einfach zu doof für das Modul ?  :-?

    Grüße,
    David

    fiveBytes

    • Mitglied
    • Beiträge: 117
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #21 am: 31. Oktober 2021, 11:32:26
    Hallo David,

    das Sternchen ist ein Platzhalter und muss durch die ID ersrtzt werden, nicht die ID dahinter schreiben.

    {{product_title::*5}} => {{product_title::5}}

    Wenn Du dann an allen drei Stellen "die inserttags angehängt" hast, sollte es auch korrekt funktionieren.

    newbee79

    • Fördermitglied
    • Beiträge: 182
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #22 am: 31. Oktober 2021, 11:50:38
    Hi fiveBytes,

    sorry, das Sternchen war fälschlicherweise noch da - hatte es vorher auch ohne Sternchen probiert, ging aber dennoch nicht !?

    Aber habe jetzt den Fehler entdeckt - ich hatte das "insettags" nur an einer Stelle dran, und nicht an alle drei. Und natürlich genau an der falschen Stelle  :whistle:

    Jetzt geht's, vielen Dank für den Hint!  :thumbs:

    Werde es jetzt mal testen.

    Grüße,
    David

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #23 am: 12. Dezember 2021, 11:19:15
    Hallo Leute,
    Da ich - wie andere vielleicht auch - Preise z.B. auf mehreren Contentseiten hinterlegt habe, habe ich mir das Inserttag ein wenig erweitert, um bei Preisänderungen (z.B. Versandkosten etc.) nicht jede Seite durchsehen muss.
    War anhand der Vorlagen recht unkompliziert.

    Nun nutze ich natürlich auch gleich die anderen Tags - sehr hilfreiche Erweiterung, Danke dafür.

    Beim Content-Bereich ist mir aber ein Fehler aufgefallen.
    Einige content_url,  content_title oder content_name werden nicht ausgegeben da "Link in der Info Box angezeigen?" aktiviert sein muss.

    Damit das auch ohne aktivierte Info-Box funktioniert, hier:

    Code: SQL  [Auswählen]
    $content_sql = "SELECT c.content_title,
                      c.content_heading
                      FROM "
    . TABLE_CONTENT_MANAGER . " c
                      WHERE "
    . $group_check . "c.content_group = '" . $elements[1] ."'
                      AND c.languages_id = '"
    .(INT) $_SESSION['languages_id']."'
                      AND trim(c.content_title) != ''
                      AND c.content_status = '1'
                               "
    ;

    die letzt Zeile ausdokumentieren oder entfernen:
    Code: SQL  [Auswählen]
    #AND c.content_status = '1'

    Denke nicht, dass dort ein besonderer Gedanke hintersteckt.

    Gruß Mario

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #24 am: 12. Dezember 2021, 16:15:23
    ich würde
    AND c.content_status = '1'
    mit
    AND c.content_active = 1
    ersetzen, damit nur aktivierte Contents angesprochen werden können.
    Ich nehme an, daß dies auch beabsichtigt war und die Abfrage nach content_status ein Versehen ist.
    (Die Anführungsstriche um die 1 kann/sollte man sich sparen, da es sich um ein Integer-Feld handelt.)

    Darüber hinaus fällt mir in dem Modul auf, daß es keinen Schutz vor potentieller SQL-Injection gibt.
    Wo in den WHERE-Clauses nach
    $elements[1]
    abgefragt wird sollte dort
    (int)$elements[1]
    stehen.

    Gruß,
    noRiddle

    fiveBytes

    • Mitglied
    • Beiträge: 117
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #25 am: 12. Dezember 2021, 18:19:20
    Hallo zusammen;

    Zitat
    Ich nehme an, daß dies auch beabsichtigt war und die Abfrage nach content_status ein Versehen ist.
    Yup, dem stimme ich zu ;-)

    Zitat
    Wo in den WHERE-Clauses nach
    $elements[1]
    abgefragt wird sollte dort
    (int)$elements[1]
    stehen.
    Kann man machen, aber in keinem Falle für die date-Funktion, denn die würde dann nicht mehr funzen. Ansonsten dürfte sich die Gefahr durch SQL-Injektions ziemlich in Grenzen halten, da ja letzendlich dafür ein Shopadmin selber entsprechend manipulierte Inserttags einsetzen müsste. Ziemlich unwahrscheinlich würde ich mal vermuten ;-)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #26 am: 12. Dezember 2021, 19:06:42
    Letztes stiimmt, aber man weiß nie, ein böser Mitarbeiter oder von der Tastatur abrutschen... :-D
    Im Falle (int) nicht in jedem Fall geht würde ich xtc_db_input() nehmen.

    Gruß,
    noRiddle

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #27 am: 13. Dezember 2021, 19:15:49
    Frage noch zum Bereich Content:

    Einige Seiten lasse ich zur Info als Popup öffnen.
    Dachte, dass die Lösung so einfach wäre, wenn man den Code ganz einfach ergänzt:
    Code: PHP  [Auswählen]
    $contentPopup = xtc_href_link( FILENAME_POPUP_CONTENT, 'coID=' . $elements[1] ) . ( ( $flag != '' && strposa( $flag, $arrUrlFlags ) != '' && strposa( $flag, $arrUrlFlags ) == 0 )?$flag:'' ); 

    Dann zum Aufruf erweitert:
    Code: PHP  [Auswählen]
    case 'content_popup':
    $tagCode = $contentPopup;
    break;

    Das Pop öffnet auch wie gedacht, aber die Tags werden nicht ausgegeben bzw. nur als Code angezeigt.
    Kann man gleich gut testen, wenn man die Seite statt shop_content.php?coID=* mit popup_content.php?coID=* öffnet
    Habt ihr dafür auch eine Lösung?

    Ist mir natürlich erst wirklich aufgefallen, als ich fast fertig war 😎.

    Gruß Mario

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #28 am: 13. Dezember 2021, 19:24:45
    /templates/YOUR_TEMPLATE/module/popup_content.php
    Code: XML  [Auswählen]
    {$content_text|inserttags}

    Gruß,
    noRiddle

    fiveBytes

    • Mitglied
    • Beiträge: 117
    • Geschlecht:
    Re: MODUL: Inserttags als Smarty Modifier
    Antwort #29 am: 13. Dezember 2021, 19:29:59
    Ich kann noRiddle nur zustimmen, Du musst den Smarty da einsetzen, wo Du die Inserttags nutzen möchtest. Der Code in der php-Datei muss dafür gar nicht angefasst werden?!
    28 Antworten
    17014 Aufrufe
    07. Dezember 2015, 20:32:30 von Alfred
    16 Antworten
    21961 Aufrufe
    27. Mai 2019, 16:46:23 von clausleh