Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #195 am: 23. Mai 2020, 17:22:12
    Wenn ein leeres Array ausgegeben wird ist das völlig in Ordnung, auf der Startseite gibt es im Allgemeinen ja keine URL-GET-Parameter und somit kann meine Vermutung auch nicht der Grund sein.

    Code: PHP  [Auswählen]
    $get_url .= rawurlencode(stripslashes($key.'['.$k.']')) . '=' . rawurlencode(stripslashes($v)) . '&';
    codiert Sonderzeichen in der URL auf spezielle Weise (wobei, aber das ist ein Nebenthema, stripslashes() imho völlig unnötig ist und an der Stelle keinen Sinn macht).

    Die Funktion xtc_get_all_get_params() baut den sog. Query-String (= die GET-Parameter in einer URL) neu zusammen, wobei die Elemente des der Funktion übergebenen Arrays ausgeschlossen werden.
    Das bedeutet für diese Codestelle
    Code: PHP  [Auswählen]
    'CATEGORY_LINK'        => xtc_href_link(FILENAME_DEFAULT,  xtc_get_all_get_params(array('cat','page','filter_id','manufacturers_id')) . $category_link)
    daß evtl. vorher vorhandene GET-Parameter wie ?cat=xy&page=2&filter-id=3 nicht angehängt werden.

    Ich habe mir das Modul nicht so genau angeschaut, wenn du die Themenwelten jedoch ausschließlich auf der Startseite verwendest muß ja da trotzdem irgendwo mind. ein Kategorie-Link angezeigt werden, denn ansonsten würde die Funktion in welcher o.g. Codestelle vorkommt gar nicht angewendet. Solche Kategorie-Links wären interessant bevor sie durch xtc_get_all_get_params() laufen. Du könntest also aus der letztgenannten Codestelle mal testweise das machen:
    Code: PHP  [Auswählen]
    'CATEGORY_LINK'        => xtc_href_link(FILENAME_DEFAULT,  $category_link)

    Ich frage mich allerdings ohnehin wofür die ganzen Parameter ausgeschlossen werden:'cat','page','filter_id','manufacturers_id' Der Link wird doch ganz neu gebaut und es gibt doch gar keine GET-Parameter vor Link-Zusammenbau. Was übersehe ich ?

    Gruß,
    noRiddle

    TrueSlide

    • Schreiberling
    • Beiträge: 397
    Re: MODUL: Themenwelten
    Antwort #196 am: 30. September 2020, 06:08:52
    Ich habe das Modul (1.4.3) in den Testshop (v2.0.5.1 rev 12725) eingebaut und es funktioniert soweit auch.
    Das einzige und das ist in dem Fall das wichtigste funktioniert leider nicht.

    Soll [products products_models='....'] ausgegeben werden, wird nichts angezeigt.
    Entsprechende Artikelnummern sind jeweils vorhanden.
    Wie erwähnt, tritt das Problem aber nur bei dieser Nutzung auf.

    Hat dahingehend vielleicht jemand einen Tipp woran es liegen könnte!?

    karsta.de

    • Experte
    • Beiträge: 3.048
    Re: MODUL: Themenwelten
    Antwort #197 am: 30. September 2020, 14:28:14
    Beim Standardtemplate kommte $main_content öfter vor, vielleicht hast du einen vergessen.
    ({if isset($main_content)}{$main_content|contentenhancer}{/if})

    Ansonsten, schau mal in der smarty-Datei (templates\[DEIN_TEMPL]\smarty\modifier......) welche Datei die Ausgabe anzeigen soll (fast ganz unten sollte das stehen) und ob diese auch in deinem Template überhaupt vorhanden ist.

    BG Karsta

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #198 am: 30. September 2020, 14:38:09
    ... oder, wenn auch unwahrscheinlich, es kommen single quotes (= ') in Artikelnummern vor (siehe die Regex in /templates/DEIN_TEMPLATE/smarty/modifier.contentenhancer.php ),

    Gruß,
    noRiddle

    TrueSlide

    • Schreiberling
    • Beiträge: 397
    Re: MODUL: Themenwelten
    Antwort #199 am: 30. September 2020, 18:59:03
    Beim Standardtemplate kommte $main_content öfter vor, vielleicht hast du einen vergessen.
    ({if isset($main_content)}{$main_content|contentenhancer}{/if})

    Ansonsten, schau mal in der smarty-Datei (templates\[DEIN_TEMPL]\smarty\modifier......) welche Datei die Ausgabe anzeigen soll (fast ganz unten sollte das stehen) und ob diese auch in deinem Template überhaupt vorhanden ist.

    BG Karsta

    In der Index habe ich alle "$main_content" entsprechend angepasst. Auch mehfach kontrolliert. Da sollte eigentlich alles in Ordnung sein, bzw. ist es.
    Die "modifier" Datei habe ich mir auch nochmal angesehen. Die Ausgabe erfolgt, so wie es sein sollte, im Content Bereich.
    Denn die anderen Methoden funktionieren ja, lediglich die Artikelnummer klappt nicht.
    (hoffe ich habe das richtig verstanden und ausgedrückt)

    Vorsichthalber hier mal noch das Ende der Datei:

    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)){
                $group_check = '';
                $fsk_lock = '';
               
                if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
                    $fsk_lock = ' AND p.products_fsk18!=1';
                }
               
                if (GROUP_CHECK == 'true') {
                    $group_check = " AND p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
                }
               
                $q = "SELECT * FROM
                                "
    .TABLE_PRODUCTS." p
                                JOIN "
    .TABLE_PRODUCTS_DESCRIPTION." pd ON (p.products_id = pd.products_id AND pd.language_id = ".(int)$_SESSION["languages_id"].")
                      WHERE
                            p.products_status = 1 "
    .$fsk_lock.$group_check;
               
                if(is_array($products_models)){
                    $q .= " AND p.products_model IN ('".implode("', '", $products_models)."') ";
                }
               
                if(is_array($categories_ids)){
                    $q .= " AND p.products_id IN (SELECT p2c.products_id FROM ".TABLE_PRODUCTS_TO_CATEGORIES." p2c WHERE p2c.categories_id IN (".implode(',', $categories_ids).")) ";
                }
               
                            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."%')
                                                                        OR
                                    pd.products_description LIKE ('%"
    .$keyword."%')
                                   )
                                "
    ;
                    }
                    $q .= ")";
                }

                global $product;
                $module_content = array();
                $listing_query = xtDBquery($q);
                while ($listing = xtc_db_fetch_array($listing_query, true)) {
                    $module_content[] =  $product->buildDataArray($listing);
                }
               
                $smarty = new Smarty;
                $smarty->assign('products', $module_content);
                $smarty->assign('language', $_SESSION["language"]);
                $html = $smarty->fetch(CURRENT_TEMPLATE.'/module/modules/content_enhancer/listing.html');
                return $html;
               
            }
           
            return '';
       
        }

     ?>

    @ noRiddle
    Wenn ich das richtig verstanden habe, dann dürfte dass in dem Fall nicht zutreffen, denn die Artikelnummern sind einfach gehalten. "Buchstaben" "-" "Zahlen"

    karsta.de

    • Experte
    • Beiträge: 3.048
    Re: MODUL: Themenwelten
    Antwort #200 am: 01. Oktober 2020, 12:19:40
    Wenn sonst alles funktioniert, schau mal im betreffenden Content in den Quelltext.

    Ich habe das bei meinem Modul gerade auch mal getestet und dafür die Artikelnummer im Shop kopiert und über den Quelltext konnte ich sehen, dass ich gleich noch html-tags mit kopiert hatte, die das Nichtanzeigen verursachten. Nach entfernen der Tags wurde alles korrekt angezeigt. So hats dann bei mir gepasst: [products products_models='1-031,1-033']

    Ich verwende eigentlich niemals die Artikelnummern, sondern auschließlich die Artikel-IDs. Aber ich glaube das ist kein Standard im Modul.

    BG Karsta

    TrueSlide

    • Schreiberling
    • Beiträge: 397
    Re: MODUL: Themenwelten
    Antwort #201 am: 01. Oktober 2020, 14:36:38
    Ich teste und überprüfe das nachher mal und gebe nochmal bescheid.
    So gesehen würde ich auch lieber direkt mit den Artikel-IDs arbeiten, um unter anderen Fehler zu verhindern. Aber wie du auch schon schreibst, ist das leider im Modul nicht enthalten.
    Und zum sicheren Umbau fehlen mir dahingehend die Fähigkeiten.

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #202 am: 24. Januar 2021, 19:17:48
    Ich habe dieses Modul in letzter Version gerade mal getestet und festgestellt, dass man sich zwar Kategorien in die Produktbeschreibung packen kann, diese aber durch die simulierte Ordnerstruktur der URL nicht auf ihr Kategoriebild zugreifen können. Vielleicht hat das schon jemand gemeldet (ggf. auch mit Lösung), war jetzt aber zu faul, die ganzen Beiträge zu lesen.

    Zeige ich eine Kategorie in der Produktbeschreibung mit an, hat das Kategoriebild diese URL:

    Code: XML  [Auswählen]
    https://www.domain.tld/KATEGORIENAME/images/categories/1.png

    Gewünscht ist aber:

    Code: XML  [Auswählen]
    https://www.domain.tld/images/categories/1.png

    Das lässt sich beheben, wenn man im Smarty-Modifier folgende Zeile:

    Code: PHP  [Auswählen]
    'CATEGORY_IMAGE'       => DIR_WS_IMAGES .'categories/' . $categories['categories_image'],

    mit dieser ersetzt:

    Code: PHP  [Auswählen]
    'CATEGORY_IMAGE'       => DIR_WS_BASE.DIR_WS_IMAGES .'categories/' . $categories['categories_image'],

    karsta.de

    • Experte
    • Beiträge: 3.048
    Re: MODUL: Themenwelten
    Antwort #203 am: 24. Januar 2021, 20:14:49
    Also bei mir stand das an dieser Stelle ohne Probleme immer so drin:
    Code: PHP  [Auswählen]
    'CATEGORIES_IMAGE'       => DIR_WS_CATALOG.DIR_WS_IMAGES .'categories/'.$categories['categories_image'],

    BG Karsta

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #204 am: 24. Januar 2021, 20:17:46
    Dann war es in einer anderen Version mal so gelöst oder du hast es dir selbst irgendwann angepasst.  :-) In der Version 1.4.3 ist es so, wie ich es oben geschrieben habe.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #205 am: 29. März 2021, 14:40:33
    Ist folgendes Problem noch niemandem aufgefallen ?
    Wenn man in Contents oder Kategorien keine explizite Meta-Description angibt wird diese ja von der Shop-Software aus dem Text-Inhalt des Contents oder der Kategorie generiert.
    Werden nun Platzhalter eingesetzt werden diese für die Meta-Description nicht aufgelöst, womit sie evtl. in der Meta-Description des Contents auftauchen. Lediglich "evtl." desshalb, weil die automatisch aus dem Text generierte Meta-Description in der Zeichenanzahl limitiert ist. Wenn ein Platzhalter also nicht innerhalb dieser Zeichenanzahl auftaucht ist er auch nicht in der Meta-Description zu sehen.

    Abhilfe würde man nur schaffen indem man in Inhalten die die Platzhalter verwenden explizite Meta-Descriptions angibt.
    Die absolut cleane Variante wäre den Inhalt des Smarty-Modifiers als Funktion auszulagern im Modifier dann einzubinden und ebenfalls auf die Meta-Tags anzuwenden mittels einer PHP-Datei in /includes/extra/modules/metatags_data/.

    Gruß,
    noRiddle

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #206 am: 07. April 2021, 14:50:49
    Niemand benutzt das Modul ?

    Timm

    • Fördermitglied
    • Beiträge: 6.165
    Re: MODUL: Themenwelten
    Antwort #207 am: 07. April 2021, 17:29:16
    Doch ich zb, aber ich verstehe das Problem nicht.  :flee-mrgreen:

    Da ich die Themenweltenboxen auf der Startseite nutze und dort selbstverständlich einen meta title und meta description vergeben habe, betrifft es mich nicht.

    Falls du jemanden (Nicht Programmierer) zum testen suchst, müsstest du das mit den Platzhaltern mal näher erläutern.

    Gruss Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: Themenwelten
    Antwort #208 am: 07. April 2021, 17:46:02
    Ich suche niemanden zum Testen, ich wollte die Nutzer der Erweiterung lediglich darauf hinweisen.
    So oft schaut man halt nicht in den Seitenquelltext oder lässt sich bei Tante Google seine "site:xxx.TLD"-Ergebnisse ausgeben.

    Was soll ich denn erläutern außer was ich in Post #205 geschrieben habe ?
    So ?
    Schaut mal in den Seitenquelltext einer Shop-Seite in welcher Ihr Platzhalter für die Themenwelten angelegt habt.
    Dort können die Platzhalter nicht aufgelöst auftauchen wenn (beides muß zutreffen)
    • man dort wo man sie benutzt im Backend nicht explizite Meta-Angaben gemacht hat
      und
    • die Platzhalter früh genug im Text der Seite benutzt werden, um noch in einen Meta-tag zu rutschen.
      Da insbesondere die automatisch erstellte Meta-Description aus dem Text generiert wird der sich auf der Seite befindet,
      - gilt immer nur wenn man im Backend keine explizite Meta-Description angegeben hat -
      kann ein Platzhalter unaufgelöst in der Meta erscheinen.
    Für SEO ganz schlecht.

    Gruß,
    noRiddle

    Timm

    • Fördermitglied
    • Beiträge: 6.165
    Re: MODUL: Themenwelten
    Antwort #209 am: 07. April 2021, 18:30:10
    Ich hatte nicht verstanden was ein Platzhalter sein soll. Du meinst einfach ein Produkt oder eine Kategorie, die mit codeschnippseln im Ckeditor eingefügt werden.

    Sorry.
    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
    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