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: Themenwelten

    Marcus Kreusch

    • Fördermitglied
    • Beiträge: 328
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #30 am: 30. Juni 2015, 20:21:34
    Darf ich kurz beantragen, dass jemand die Diskussion in einen eigenen Thread verschiebt - hat mit dem Modul nicht mehr viel zu tun ;-)

    Das Problem bei solchen Sachen ist ja, dass es Angriffsstrategien gibt, auf die man nicht kommt, wenn man nicht sehr tief in der Materie ist.
    Ein triviales Beispiel wäre ein {eval} auf den Startseitentext (Link setzen aus Content-Manager auf Kategorie) - in diesen wird vorher der Kundenname replaced... Ich denke, ich muss nicht weiter ausführen, warum sich dann jemand als Herr/Frau {php}...{/php} anmeldet.

    Viele Grüße
    Marcus

    p3e

    • Experte
    • Beiträge: 2.395
    Re: MODUL: Themenwelten
    Antwort #31 am: 01. Juli 2015, 10:51:59
    Aber Deine "Themenwelten" als Smarty-Modifier finde ich eigentlich interessant und das hat auch nichts mit möglichen Sicherheitsrisiken zu tun, die hier diskutiert werden. Zumindest sehe ich nicht das Sicherheitsrisiko, dass von einem vernünftig programmierten Modifier ausgehen sollte.

    Abgesehen davon, finde ich eine Diskussion der Sicherheitsfrage bei jedem vorgestellten Modul auf jeden Fall sinnvoll.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.220
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #32 am: 02. Juli 2015, 10:35:19
    Ein triviales Beispiel wäre ein {eval} auf den Startseitentext (Link setzen aus Content-Manager auf Kategorie) - in diesen wird vorher der Kundenname replaced... Ich denke, ich muss nicht weiter ausführen, warum sich dann jemand als Herr/Frau {php}...{/php} anmeldet.

    Viele Grüße
    Marcus

    In Smarty 3 funktioniert kein {php}...{/php} mehr !

    Gruss Gerhard

    fishnet

    • Fördermitglied
    • Beiträge: 4.853
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #33 am: 29. Juli 2015, 11:53:04
    Lieber Markus,

    vielen Dank für diese Super Idee. Das macht dem T10 Landingpagemanager deutlich Konkurrenz. Der hat zwar mehr Funktionen, ist aber auch wesentlich teurer in der Anschaffung und komplizierter im Einbau.
    Somit hat man nun eine ordentliche Wahl für jeden Geldbeutel  :thumbs:

    lernort

    • Fördermitglied
    • Beiträge: 90
    Re: MODUL: Themenwelten
    Antwort #34 am: 30. Juli 2015, 12:25:01
    Hallo Marcus,

    vielen Dank für diese tolle Idee und die prima Anleitung. Allerdings habe auch ich dieses Problem:
    Habe einen Bug entdeckt:
    Bei verwendung von [products keywords='Keyword1,Keyword2,...'] mit mehr als einem Keyword bleibt das Listing aus. Habe es gerade mal mit verschiedenen Kombinationen von Keywords bei uns getestet.
    Stört mich jetzt grade nicht sonderlich, könnte ja aber mal nützlich sein.

    Weiter würde ich gerne wissen, ob es wohl so ohne Weiteres möglich wäre, das auch in der product_listing_v1.html zu nutzen und was ich dafür tun müsste  :-D

    Ich weiß, klingt komisch, da ja in der product_listing_v1.html bereits Artikel angezeigt werden. Allerdings würde ich mir diese entsprechend für eine bestimmte (Unter-)Kategorie umbauen, so dass eben keine Artikel mehr angezeigt werden, sondern Erläuterungen, in etwa so wie eine "Auswahlhilfe" - und dann kann ich dort bestimmte Artikel anzeigen.

    Gruß,
    Lu

    fishnet

    • Fördermitglied
    • Beiträge: 4.853
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #35 am: 30. Juli 2015, 12:50:34
    Bei verwendung von [products keywords='Keyword1,Keyword2,...'] mit mehr als einem Keyword bleibt das Listing aus.

    Das sollte eigentlich nicht so sein.
    Es gibt zwei Möglichkeiten: Entweder es liegt daran, dass ich momentan nur die Suche in Produktname und -keywords vorgesehen habe oder du verwendest Keywords bei denen mein Code versagt. Wenn du die erste Variante ausschließen kannst, wäre es toll, wenn du einmal dein [products...]-Tag posten könntest.

    Hi,
    ich kann den Fehler in meinem Demoshop nachstellen.
    Ich habe verschiedene Produkte mit "test" im Namen. Funktioniert mit

    Code: PHP  [Auswählen]
    [products keywords='test']

    einwandfrei.

    Ich habe aber auch ein Produkt "produkt mit Attributen".

    Sobald ich den Code ändere auf

    Code: PHP  [Auswählen]
    [products keywords='test,attributen']

    ist die Liste leer.

    So in 14 Tagen hätten wir Zeit draufzugucken, aber vielleicht ist ja jemand schneller...

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: MODUL: Themenwelten
    Antwort #36 am: 30. Juli 2015, 13:40:33
    Ich habe das Modul noch nicht eingebaut, würde aber den Fehler sehr stark hier vermuten: (ContentEnhancer.class.php Zeile 80+)

    Code: PHP  [Auswählen]
    if(is_array($keywords)){
                    foreach($keywords AS $keyword){
                        $q .= " AND
                                  ( pd.products_keywords LIKE ('%"
    .$keyword."%')
                                        OR
                                    pd.products_name LIKE ('%"
    .$keyword."%')
                                   )
                                "
    ;
                    }
                }

    Die Schleife verknüpft die einzelnen keywords mit UND - da diese Funktionalität aber durchaus gewünscht sein kann, würde ich eher eine eindeutige Syntax einführen um UND und ODER zu trennen.
    Wer die Keywords mit Oder verknüpfen will, die restliche Funktion aber erhalten möchte, der kann den zitierten Abschnitt durch

    Code: PHP  [Auswählen]
    if(is_array($keywords)){
                    $q .= " AND (1!=1";
                    foreach($keywords AS $keyword){
                        $q .= " OR
                                  ( pd.products_keywords LIKE ('%"
    .$keyword."%')
                                        OR
                                    pd.products_name LIKE ('%"
    .$keyword."%')
                                   )
                                "
    ;
                    }
                    $q .= ")";
                }

    ersetzen. (1!=1 um einen "sauberen" Anfang für das OR zu bekommen, der aber keinen Unterschied für das Ergebnis macht - da gibt es bestimmt eine elegantere Lösung, aber soviel habe ich mit SQL bisher nicht gemacht)

    [EDIT Tomcraft 26.08.2015: Fehler in Code korrigiert.]

    fishnet

    • Fördermitglied
    • Beiträge: 4.853
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #37 am: 30. Juli 2015, 14:24:48
    Mal kurz getestet, mag er nicht

    Code: PHP  [Auswählen]
    Parse error: syntax error, unexpected T_CONCAT_EQUAL in includes/classes/ContentEnhancer.class.php on line 90

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: MODUL: Themenwelten
    Antwort #38 am: 30. Juli 2015, 15:52:48
    Ja natürlich... Ich hab schon wieder das $-Zeichen bei der Variable vergessen...

    Zeile 11:

    Code: PHP  [Auswählen]
                    q .= ")";

    muss natürlich heißen

    Code: PHP  [Auswählen]
                    $q .= ")";

    [EDIT Tomcraft 26.08.2015: Korrektur in Anleitung übernommen.]

    lernort

    • Fördermitglied
    • Beiträge: 90
    Re: MODUL: Themenwelten
    Antwort #39 am: 26. August 2015, 10:34:45
    Hallo,

    ich habe es eingebaut (v1.06 rev 4642 SP2) und kann nun keine Auftragsbestätigung mehr senden. Ich gehe in eine Bestellung, klicke unten auf "Auftragsbestätigung senden" und erhalte folgende Meldung:

    Code: PHP  [Auswählen]
    Warning: require_once(includes/classes/ContentEnhancer.class.php) [function.require-once]: failed to open stream: No such file or directory in /...../includes/classes/main.php on line 214

    Fatal error: require_once() [function.require]: Failed opening required 'includes/classes/ContentEnhancer.class.php' (include_path='.:/usr/local/lib/php') in ...../includes/classes/main.php on line 214

    Gruß,
    Lu

    adspot

    • Neu im Forum
    • Beiträge: 4
    Re: MODUL: Themenwelten
    Antwort #40 am: 03. September 2015, 21:34:18
    Hallo,

    ich habe es eingebaut (v1.06 rev 4642 SP2) und kann nun keine Auftragsbestätigung mehr senden. Ich gehe in eine Bestellung, klicke unten auf "Auftragsbestätigung senden" und erhalte folgende Meldung:

    Code: PHP  [Auswählen]
    Warning: require_once(includes/classes/ContentEnhancer.class.php) [function.require-once]: failed to open stream: No such file or directory in /...../includes/classes/main.php on line 214

    Fatal error: require_once() [function.require]: Failed opening required 'includes/classes/ContentEnhancer.class.php' (include_path='.:/usr/local/lib/php') in ...../includes/classes/main.php on line 214

    Gruß,
    Lu

    Hallo Lu,

    das liegt an der Änderung in includes/classes/main.php

    Code: PHP  [Auswählen]
    Zeile ca. von 192 bis 198
         }
       }
       
       # BOM - Content Enhancer
      require_once (DIR_WS_CLASSES.'ContentEnhancer.class.php');
       $content_data_array['content_text'] = ContentEnhancer::parseContent($content_data_array['content_text']);
       # EOM - Content Enhancer
      return $content_data_array;  
     }

    Aus welchen Grund wird denn eigentlich ContentEnhancer.class.php in includes/classes/main.php benötigt?

    Für den Content Manager sollte es doch in der shop_content.php reichen.

    Viele Grüße

    fishnet

    • Fördermitglied
    • Beiträge: 4.853
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #41 am: 04. September 2015, 16:53:34
    Änderung in der ContentEnhancer.class.php übernommen und die Änderung aus der main.php entfernt => funktioniert bei mir. Wobei ich grad keine Funktion "Auftragsbestätigung senden" da hab, vielleicht mag Lu nochmal gucken. Anbei die geänderte Version.

    [EDIT Tomcraft 18.09.2015: Modul in Beitrag 1 aktualisiert.]

    lernort

    • Fördermitglied
    • Beiträge: 90
    Re: MODUL: Themenwelten
    Antwort #42 am: 07. September 2015, 09:30:57
    Hallo,

    hatte genau das gemacht: die Änderung aus der includes/classes/main.php entfernt: alles geht, auch Auftragsbestätigung senden (brauche ich zwar selten, aber doch hin und wieder und es sollte ja doch alles funktionieren).

    @fishnet
    bezüglich der Änderung in der ContentEnhancer.class.php bei der Verwendung mit mehreren Keywords: muss ich noch testen, benötige ich so grade nicht, ist deshalb momentan nicht so relevant, schaue aber nach.

    Gruß,
    Lu

    longchuan

    • Viel Schreiber
    • Beiträge: 647
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #43 am: 08. September 2015, 08:05:38
    Hallo habe das Modul laut anleitung eingebaut, aber ich kann nichts sehen um etwas einzustellen, finde nichts im Backend.

    lernort

    • Fördermitglied
    • Beiträge: 90
    Re: MODUL: Themenwelten
    Antwort #44 am: 08. September 2015, 10:58:50
    Du kannst in beliebigem Content die im ersten Beitrag erwähnten Codes verwenden. Zum Einstellen findest du im Backend nix.

    Nimm doch einfach mal ein beliebiges Produkt, setz als Suchbegriff test ein und dann gehst du eine Contentseite bearbeiten und an gewünschter Stelle fügst du folgendes ein:
    Code: XML  [Auswählen]
    [products keywords='test']

    Dann schaust du dir nochmal den ersten Beitrag an, denn eigentlich ist das prima erklärt und funktioniert auch tadellos, in den weiteren Beiträgen ist noch anderes besprochen.

    Gruß,
    Lu
    5 Antworten
    3472 Aufrufe
    12. September 2010, 21:03:02 von Haina
    9 Antworten
    3104 Aufrufe
    04. Januar 2019, 17:14:15 von Shorty
    106 Antworten
    51969 Aufrufe
    06. März 2021, 19:27:04 von awids