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

    Jürgen

    • Viel Schreiber
    • Beiträge: 891
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #225 am: 19. September 2021, 17:36:00
    Hallo,

    ich habe das jetzt mit dem code von whiteflash https://www.modified-shop.org/forum/index.php?topic=33237.msg358455#msg358455 testweise im shop eingebaut....

    Zwei Fragen zu dem Thema:

    Ich bekomme bei

    [categories categories_ids='20']

    auch alle sub categories angezeigt und die eigentliche catid (20) doppelt am Ende...

    und.....kann mir jemand auf die Sprünge helfen wo oder wie

    Code: PHP  [Auswählen]
    [substitutions {'Jacke':'Hose','Winterjacke':{'substitution':'warme Jacke','validity':'name'},'Herbstjacke':{'substitution':'normale Jacke','validity':{'0':'name','1':'description'}},'Produkt':{'substitution':'Artikel','validity':{'0':'text','1':'description'}}}]

    eingebunden wird (Beispiel vielleicht?)

    Danke

    Gruß

    Jürgen
    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware

    Jürgen

    • Viel Schreiber
    • Beiträge: 891
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #226 am: 20. September 2021, 19:10:27
    Ich frag nochmal anders... :-)

    Kann man den Code von Whiteflash so

    Code: PHP  [Auswählen]
    [substitutions {'Jacke':'Hose','Winterjacke':{'substitution':'warme Jacke','validity':'name'},'Herbstjacke':{'substitution':'normale Jacke','validity':{'0':'name','1':'description'}},'Produkt':{'substitution':'Artikel','validity':{'0':'text','1':'description'}}}]

    mit entsprechenden Keywords/Begriffen in einer content seite einfügen...also zum Beispiel so...am Ende

    Code: PHP  [Auswählen]
    [products keywords='Jacke' limit='3']

    [substitutions {'Jacke':'Hose','Winterjacke':{'substitution':'warme Jacke','validity':'name'},'Herbstjacke':{'substitution':'normale Jacke','validity':{'0':'name','1':'description'}},'Produkt':{'substitution':'Artikel','validity':{'0':'text','1':'description'}}}]

     :glaskugel:

    Ich bekomme im log nur syntaxfehler

    Code: PHP  [Auswählen]
    [2021-09-20 18:59:14]   [error] [modified]      [pid:15310]     ERROR found for URL: /xxxxx:_:200.html  {}      {}
    [2021-09-20 18:59:14]   [error] [modified]      [pid:15310]     Syntax error in template "f660c8ad0165cf06e01386c754658684f425f57f"  on line 245 "[products keywords='Jacke' limit='3' substitutions {'Jacke''Hose','Winterjacke'{'substitution''warme Jacke','validity''name'}]"  - Unexpected "'Hose'", expected one of: "}" in File: /homepages/0/xxxxx/htdocs/xxxxx/includes/external/smarty/smarty_3/sysplugins/smarty_internal_templatecompilerbase.php on Line: 245      {}      {}
     

    Danke für Feedback/Tips

    Gruß

    Jürgen

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: MODUL: Themenwelten
    Antwort #227 am: 22. September 2021, 17:11:02
    Hi, habe jetzt nicht alles gelesen und nachvollzogen. Aber bei Deiner Fehlermeldung ist mir aufgefallen: "Unexpected Hose"

    Davor fehlt ein Komma, kann das sein? Also Zwischen Jacke und Hose.

    Jürgen

    • Viel Schreiber
    • Beiträge: 891
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #228 am: 22. September 2021, 17:46:13
    Hi,

    danke für das feedback....

    hab jetzt alles mögliche versucht.....funktioniert aber nicht...

    Hat irgendjemand den Code mit den substitutions  im Einsatz?

    und könnte seine modifier.contentenhancer.php und ein funktionierendes Beispiel mit substitutions , siehe hier
    https://www.modified-shop.org/forum/index.php?topic=33237.msg358455#msg358455posten?

    Danke

    Gruß
    pürgen

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #229 am: 20. September 2022, 12:11:05
    Mein ins Modul eingegangener Voschlag

    [...]
    Man generiere eine neue Datei namens contentenhancer_meta.php in /includes/extra/modules/metatags_data/ mit folgendem Inhalt:
    Code: PHP  [Auswählen]
    <?php
    /*************************************************************************************
    * file: contentenhancer_meta.php
    * path: /includes/extra/modules/metatags_data/
    * use: convert placeholders for module "Themenwelten" in meta tags
    *
    * © copyright for module Themenwelten: MK, p3e
    * new file to clean meta tags, 04-2021, noRiddle
    *************************************************************************************/


    if(!function_exists('contentenhancer_inc')) {
        require_once(DIR_FS_INC.'contentenhancer.inc.php');
    }

    $metadata_array['title'] = contentenhancer_inc($metadata_array['title']);
    $metadata_array['description'] = contentenhancer_inc($metadata_array['description']);
    $metadata_array['keywords'] = contentenhancer_inc($metadata_array['keywords']);
    ?>
    [...]

    sollte so angepasst werden, da es u. U. sein kann, daß die betroffenen Array-Keys nicht existieren:
    Code: PHP  [Auswählen]
    <?php
    /*************************************************************************************
    * file: contentenhancer_meta.php
    * path: /includes/extra/modules/metatags_data/
    * use: convert placeholders for module "Themenwelten" in meta tags
    *
    * © copyright for module Themenwelten: MK, p3e
    * new file to clean meta tags, 04-2021, noRiddle
    *************************************************************************************/


    if(!function_exists('contentenhancer_inc')) {
        require_once(DIR_FS_INC.'contentenhancer.inc.php');
    }

    if(isset($metadata_array['title'])) $metadata_array['title'] = contentenhancer_inc($metadata_array['title']);
    if(isset($metadata_array['description'])) $metadata_array['description'] = contentenhancer_inc($metadata_array['description']);
    if(isset($metadata_array['keywords'])) $metadata_array['keywords'] = contentenhancer_inc($metadata_array['keywords']);
    ?>

    Gruß,
    noRiddle

    Roberto75

    • Viel Schreiber
    • Beiträge: 833
    Re: MODUL: Themenwelten
    Antwort #230 am: 01. Oktober 2022, 13:49:23
    Hallo,

    ich hätte gern die Produkte, die aus einer Kategorie genommen werden, auf eine bestimmte Anzahl begrenzt. Normalerweise werden alle angezeigt. In der neuen Shopversion 2.0.7.2 und PHP 8.1 funktioniert das mit z. B. limit='12' im Tag nicht. Es kommt außerdem dann die Fehlermeldung
    Call to undefined function contentenhancer_inc() in File: /www/htdocs/xxxxxxx/xxxxxxx/includes/extra/modules/metatags_data/contentenhancer_meta.php on Line: 15, wenn die angepasste contentenhancer.inc.php und die aktuellste Modulversion, die zum Download angeboten wird, genutzt wird.

    Gruß

    Robert

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #231 am: 01. Oktober 2022, 14:36:58
    Soweit ich weiß war das mit dem LIMIT eine Erweiterung die jemand zwischendurch als Code gepostet, die jedoch nie Eingang in das Modul gefunden hat.

    Die Fehlermeldung deutet darauf hin, daß die /inc/contentenhancer.inc.php  nicht vorhanden ist.
    Nicht korrekt hochgeladen  worden ?

    Gruß,
    noRiddle

    Roberto75

    • Viel Schreiber
    • Beiträge: 833
    Re: MODUL: Themenwelten
    Antwort #232 am: 01. Oktober 2022, 14:59:42
    Die Anpassungen von Whiteflash für die modifier.contentenhancer.php habe ich in die contentenhancer.inc.php eingefügt, weil in der Nachfolgeversion die modifier.contentenhancer.php ausgegliedert wurde. Anschließend kam nach dem Aufruf des Shops eine weiße Seite und die Fehlermeldung. Zusätzlich auch eine, dass die contentenhancer.inc.php nicht vorhanden ist, das stimmt. Die war aber mit dem modifizierten Code vorhanden.
    Ich muss dann die Artikel einzeln angegben, wenn eine Begrenzung nicht oder noch nicht möglich ist. Der Aufwand ist nur mehr und für den Kunden damit auch die Kosten.

    sunghost

    • Frisch an Board
    • Beiträge: 89
    Re: MODUL: Themenwelten
    Antwort #233 am: 28. Februar 2023, 22:01:08
    Hi,
    funktioniert das Modul noch im aktuellen 2.0.7.x Shop? Ich habe es mit dem modfied_responsive Template probiert, erhalte aber eine leere Seite. Nachdem ich alle Seiten hier im Forum zum Thema gelesen hatte bin ich über die Nutzungsweise etwas irritiert. Muss ich im Quelltext irgendwas von Hand eintragen, oder reicht es wenn in der Kategorie ein Metatext steht?
    thx

    Roberto75

    • Viel Schreiber
    • Beiträge: 833
    Re: MODUL: Themenwelten
    Antwort #234 am: 01. März 2023, 10:09:09
    Mach bitte mal die Änderungen in der contentenhancer_meta.php, die noRiddle oben vorgeschlagen hat. Dann müsste es funktionieren. Sonst muss man nur im Quelltext der Contentseiten oder Artikelbeschreibung das, was auf Seite 1 steht, also die Platzhalter, einfügen.

    Gruß
    Robert

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #235 am: 03. Mai 2023, 13:30:30
    Mal eine blöde Frage: könnte man mit dem Modul auch Artikel ausgeben, die größer als Menge X auf Lager sind?

    Also z.B. gibt Artikel mit Menge > 50 Stück aus, also dann im Template so etwa:
    Code: PHP  [Auswählen]
    [[products products_quantity>'50']

    Wäre das möglich, oder müsste man dafür das Modul zu arg umbasteln?

    Ich weiß, ist sicher ein Sonderfall, aber für uns evtl. praktisch...

    Grüße
    Dominik

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #236 am: 03. Mai 2023, 14:49:46
    Ja, das sollte eigentlich möglich sein. In der /inc/contentenhancer.inc.php muss dies nur erweitert werden.

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #237 am: 03. Mai 2023, 15:13:41
    Servus awids,

    danke für die Rückmeldung.

    Da saß ich auch schon davor, allerdings komme ich da nicht so ganz mit dem Codeblock der contentenhancer_inc Funktion zurecht.

    Dort heißt es z.B.
    Code: PHP  [Auswählen]
    function contentenhancer_inc($html) {
    ....
                if(preg_match('/products_models\=\'([^\']+)\'/', $snippet, $model_matches)){
                    $t_models = explode(',', $model_matches[1]);
                    $products_models = array();
                    foreach($t_models AS $model){
                        $products_models[] = xtc_db_input(trim($model));
                    }
                }

    Das müsste man dann ja irgendwie kopieren und entsprechend anpassen. Aber wie mache ich das mit einer > Menge Abfrage? Das ist ja ein preg_match, welches einen String nach Vorhandensein eines bestimmten Ausdrucks durchsucht.

    Weiter unten kommt dann noch
    Code: PHP  [Auswählen]
    function parseProducts($products_models = null, $categories_ids = null, $keywords = null){
        if(is_array($products_models) || is_array($categories_ids) || is_array($keywords)){
    ...
            if(is_array($products_models)){
                $q .= " AND p.products_model IN ('".implode("', '", $products_models)."') ";
            }
    ...

    Okay, das müsste man dann entsprechend kopieren und wahrscheinlich in sowas hier ändern:
    Code: PHP  [Auswählen]
    function parseProducts($products_models = null, $categories_ids = null, $keywords = null){
        if(is_array($products_models) || is_array($categories_ids) || is_array($keywords)){
    ...
            if(is_array($products_models)){
                $q .= " AND p.products_model IN ('".implode("', '", $products_models)."') ";
            }
           
            if(is_array($products_quantity)){
                $q .= " AND p.products_model > 50 ";
            }
    ...

    Allerdings kann man dann damit keine Abfrage mit sowas hier machen, da es nicht ja nicht dynamisch sondern direkt in die /inc/contentenhancer.inc.php geschrieben ist:
    [products products_quantity>'50']
    Oder muss ich die Funktion contentenhancer_inc gar nicht erweitern für diese Zwecke?

    Grüße
    Dominik

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #238 am: 03. Mai 2023, 15:36:22
    Ich tüftle auch gerade daran rum. Eigentlich sollte es ja möglich sein, einen solchen Ausdruck zu generieren:

    Code: PHP  [Auswählen]
    [products products_models='1,2,3,4,5' min_quantity='50']

    Deine Überlegungen sind insofern richtig, aber der Teil mit der nicht dynamischen Abfrage ist falsch gedacht. Da muss dann sowas bei rauskommen:

    Code: PHP  [Auswählen]
        if(is_array($min_quantity)){
            $q .= " AND p.products_quantity >= '".$min_quantity."' ";
        }

    Den Wert für $min_quantity kannst du ja im Contentmanager vergeben. (Also nicht den festen Wert 50 in die /inc/contentenhancer.inc.php schreiben.)

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #239 am: 04. Mai 2023, 15:04:12
    Danke schonmal für deinen Ansatz :)

    Wenn man die Funtion parseProducts so erweitert, klappt es nicht:
    Code: PHP  [Auswählen]
    function parseProducts($products_models = null, $categories_ids = null, $keywords = null, $min_quantity = null){
        if(is_array($products_models) || is_array($categories_ids) || is_array($keywords) || is_array($min_quantity)){
    ...        
            if(is_array($products_models)){
                $q .= " AND p.products_model IN ('".implode("', '", $products_models)."') ";
            }
           
            if(is_array($min_quantity)){
                $q .= " AND p.products_quantity >= '".$min_quantity."' ";
            }

    Ich denke, dafür müsste nun noch irgendwie die Funktion contentenhancer_inc erweitert werden, denn dort kommen ja auch die drei Bausteine products_models, categories_ids & keywords vor?!

    Grüße
    Dominik
    Shop Hosting
    5 Antworten
    3476 Aufrufe
    12. September 2010, 21:03:02 von Haina
    9 Antworten
    3125 Aufrufe
    04. Januar 2019, 17:14:15 von Shorty
    106 Antworten
    52114 Aufrufe
    06. März 2021, 19:27:04 von awids
               
    anything