Wie kann ich bestimmte Shop-Funktionen deaktivieren/ändern

Hallo, in OxidCE6.2.2 mit einem “WAVE”-Child-Theme wollte ich gerne “Artikel empfehlen” deaktivieren, aber fand zunächst im Admin nirgends eine entspechende Checkbox. Im Forum fand ich nur Beiträge für ältere Versionen. Dann fand ich doch noch die entsprechende Checkbox. Trotzdem bleiben Fragen:

  1. Frage: Wenn die Hilfe nichts hergibt, wie findet man am schnellsten heraus, ob etwas im Admin überhaupt konfigurierbar ist und wo diese Stelle im Admin ggf ist ?

Bisher habe ich mich fast nur CSS geändert, aber um eine Funktion richtig auszuschalten oder zu ändern, muss ich wohl in TPL und/oder Scripte ändern, falls es im Admin keine Möglichkeit gibt.

  1. Frage: Nur in welche?
    d.h. ich hätte gerne eine Beschreibung des Wegs, wie ich am einfachsten selbst herausfinden kann, welche Dateien ich bearbeiten muss? Für die CSS-Anpassungen ging das mit Hilfe des Web Developer Plugins für Firefox ganz passabel - und hier kommt die
  2. Frage: Welches Tool hilft mir auf diesem Weg am besten?

Danke für gute Tipps! Gibt es eventuell Tutorials?

Suchfunktion. Das steht alles mehrfach hier drin.

Dafür gibt es kein Danke!
Schön, hilft aber nix, wenn man’s nicht findet. Du kannst mir glauben, dass ich die Suche intensiv genutzt habe und so schließlich ja auch (außerhalb vom Forum) auch die Lösung für die Artikel-Empfehlen Sache gefunden hatte. Aber eben nichts für die anderen Punkte - sonst hätte ich wohl kaum den Beitrag geschrieben. Hilfreicher wären Links zu den “mehrfach” vorhandenen Antworten gewesen oder wenigstens die richtigen Suchworte.
. Vielleicht hilft ja jemand anders konkreter…

Nicht beleidigt sein. Aber diese Fragen kommen sehr oft, dass man eigentlich nur so antworten kann, denn es stellt sich auch die Frage, warum andere etwas finden:


Für viele Themen gibts tatsächlich schon einige Beiträge im Forum.
Aber um ganz allgemein auf die erste Frage zu antworten, gibt es prinzipiell zwei Möglichkeiten:

  1. alle Einstellungen im Admin durchgucken.
    Ich gehen in solchen Fällen alle Seiten mit Einstellungen durch, öffne alle Untermenüs und nutze dann die Browser-Suche, um auf der Seite nach bestimmten verwandten Wörtern zu suchen.

  2. im Code schauen, ob dort irgendeine Einstellung angefragt wird.
    “Artikel empfehlen” habe ich bei mir jetzt nicht gefunden, aber ich zeige das mal am Beispiel von Lieblingslsiten.
    Such dir zuerst ein “Erkennungsmerkmal” im Code, z.B: eine ID oder irgendwelche bestimtmen Tags. Beschriftungen von Schaltflächen eignen sich nicht, da sie in die jeweiligen Sprachen übersetzt werden und nicht genau so in den Tempaltes stehen. Hier nehme ich mal die id="loginToRecommlist"


    Und suche dann in den Templates nach diesem Erkennungsmerkmal:

    Und dann schaust du, ob es drum herum ein [{if .... }] .... [{/if}] gibt, hier wäre es [{if $oViewConf->getShowListmania()}], das wäre ein Hinweis auf irgendeine Eisntellung oder eine andere Abhängigkeit.
    Nun musst du im PHP Code schauen, welche Konfigurationsvariable dort abgefragt wird, dafür nehme ich ebenfalls die Suche in den Dateien:

    Und da hast du die Konfigurationsvariable bl_showListmania, nun suchst du in Admin Tempaltes und in PHP Dateien nach diesem Konfigurationsparameter:
    Es könnte so aussehen:

    da steht jetzt ganz oft irgendwas mit theme_options.php. Dann wäre diese Einstellung wohl in den Theme Einstellungen.
    Oder wenn die Variable in Templates gefunden wird, sieht es etwa so aus:

    Hier ist es eine andere Variable, die in shop_performance.tpl zu finden ist, das wäre der Hinweis darauf, dass diese Einstellung in den Performance Einstellungen zu finden ist.

Anfangs muss man wohl viel suchen, aber mit der Zeit merkt man sich entweder die Einstellungen oder bekommt ein Gefühl dafür, wo / in welchem Zusammenhang so eine Einstellung sein müsste.

4 Likes

Danke @vanilla_thunder!

Es gibt sogar noch einen Trick, wenn man vom Frontend aus schaut: Setze $this->iDebug=8 in der config.inc.php, leere tmp/ und erfreue Dich am Namen des entsprechenden Templates im Frontend :wink:

Vielen Dank, das ist hilfreich und führte zu einem Erfolg und weiteren Fragen :roll_eyes: Ich hatte die o.g. Tipps genutzt, um im Footer im Bereich Informationen einen Link auf die Online Streibeilegung einzubauen.
Frage: Wieso gibt es zwei identische info.tpl? Mein erster Versuch der Änderung war erfolglos, ich änderte:
source\Application\views\wave3R\tpl\footer\info.tpl
Der Tipp mit iDebug=8 von @marco.steinhaeuser führte dann zur richtigen info.tpl:
source\Application\views\wave3R\tpl\widget\footer\info.tpl
Dort habe ich folgende Zeilen eingefügt:

    [{oxifcontent ident="3ROSInfo" object="_cont"}]
        <li><a href="[{$_cont->getLink()}]">[{$_cont->oxcontents__oxtitle->value}]</a></li>
    [{/oxifcontent}]		

Außerdem ein passendes Snippet in Kundeninformation erzeugt.
In der DB ist sowohl in oxcontents als auch in oxv_contents_de ein m.E. passender Eintrag für das Snippet vorhanden. Soweit so gut.
hc_745
Allerdings kommt beim Klick auf den Link ein Fehler. Im Log steht:

… [uncaught error] [type E_USER_ERROR] [file …shopurl/vendor/smarty/smarty/libs/Smarty.class.php] [line 1100] [code ] [message Smarty error: [in ox:916b5c8628986b023bbbedbb5af947680 line 1]: syntax error: unclosed tag {oxifcontent} (opened line 1). (Smarty_Compiler.class.php, line 312)]
Der Code-Abchnitt:

deutete auf einen fehlerhaften Array, oder? Ich hatte den WYSIWYG Editor im Verdacht, aber letztlich hatte ich falsch verstanden, wie ich in einem Snippet einen Verweis auf die AGB (ein anderes Snippet) einbaue und Code nur teilweise reinkopiert.
Aber das ist ein anderes Thema.

Bei der Lösungssuche stieß ich auch auf den Beitrag im Forum und wollte nun auch die oxcontentlist.php genauer unter die Lupe nehmen. Leider nicht gefunden. Ist in 6.2.2. wohl anders gelöst. Aber wie?

Dieses Template existiert im original Theme nicht.

oxv_ Tabellen sind keine echten Tabellen, sondern Views für einzelne Sprachen, d.h. oxv_contents_de zeigt die deutschen Einträge aus der oxcontents Tabelle.

nein, in der Fehlermeldung steht “unclosed tag {oxifcontent}”, d.h. irgendwo steht [{oxifcontent ..}] aber kein schließendes `[{/oxifcontent}].
Scroll hier mal nach unten zur letzten Fehlermeldung, da steht eine Erklärung zu einer fast identischen Fehlermeldung:

Sch… , da habe ich mir selbst ein Bein gestellt und wohl in einen falschen Pfad kopiert. Bin gespannt, ob ich die Verzeichnisstruktur irgendwann verstehe. Danke für den Hinweis.

Das war klar.

Zum Stichwort

hattest du @vanilla_thunder nichts geschrieben, möchte ich nochmals nachhaken? Gibt es das in 6.2.2 ersatzlos nicht mehr?

das hatte ich gar nicht angeklickt, weil ich dachte du wärst wegen der Fehlermeldung auf der falschen Spur.
Seit der Version 6 wurde bei den Klassen der Prefix “ox” entfernt: oxcontentlist.php => contentlist.php
Installiere dir mal VS Code, dann kannst du solche Klassen sehr schnell über die Dateisuche finden. Es gibt nämlich noch eine Datei für Rückwärtskompatibilit, die die alten Klassennamen auf neue Klassen auflöst, da kannst du einfach Strg+Linksklick auf den Namen der Klasse machen und der Editor öffnet automatisch die richtige neue Datei.

Aha! Danke. Meinst du mit VS Code das Microsoft Programm „ Visual Studio Code“?

ja genau, nicht mit dem “VIsual Studio” zu verwechseln (ohne “Code”), das ist was anderes.