Waaah! Jetzt versteh ich. "get_usermod" gibts schon im Standard. Das war mir bisher nicht präsent! Stimmt ja! Kannste hier nicht eine co-Existenz direkt schaffen, z. B. "php_getusermod", damit die Gambio-Variante unangetastet bleibt und die Nutzer direkt auf Spur kommen? Dann fällt Gambio vielleicht auch die Entscheidung einfacher, wenns separat gehalten ist.
So, kleine Rückmeldung: Selbst in der jetzigen Version als Einarbeitung ins vorhandene get_usermod: --> GENIAL ! Vielen Dank für diese echte Bereicherung! Das ist einfach klasse! @Gambio, diese Erweiterung ist hitverdächtig! Bitte unbedingt anschauen!
Ich habe gerade mal den Härtetest gemacht, und meine Codebasis von SP1.3 auf Version 2.0.10g aktualisiert. Ganz brutal das komplette Package (ohne configure-dateien) in meine Shop-Root kopiert. Und dann meine "USERMODS"-Verzeichnisse mit Winmerge gegen die Shop-Root abgleichen lassen, um notwendige Änderungen an den USERMODS zu ermitteln. Hat zwar auch einige Zeit gedauert (weil ich schon viele USERMODS habe), aber da Winmerge mir ja alle Abweichungen in den geänderten Dateien konkret anzeigt, kann man das leicht überblicken. Keine Vergleich zum früheren Aufwand.
Definitiv! Habe seit dem Einspielen sämtliche vorhandenen Änderungen nach diesem Prinzip in den USERMOD-Ordner verfrachtet und an die "alte" Stelle wieder die Originale gesetzt. Übersichtlich, einheitlich, zusammenhängend - echt Klasse!
Ich habe es selbst noch nicht versucht, da meine Templates anders organisiert sind, es sollte aber möglich sein, auch Template-Usermods mit diesem Konzept zu verwenden. Wenn man die geänderten Template-Dateien (mit ihrem Originalnamen!) in der Verzeichnis-Hierarchie "USERMODS\templates\EyeCandy\...." ablegt, dann sollten die dort gefunden werden... Damit hätte man dann ein "Template-Override"-Konzept realisiert, wie es heute Stand der Technik ist (OXID, Shopware, Magento...)... Und man kann auch wieder mit WinMerge einfach die geänderten Template-Dateien mit neuen Versionen automatisch abgleichen lassen.... Kannst Du das mal testen?
Habe es jetzt mal mit einem Standard-Gambio GX2 getestet, und Es funktioniert tatsächlich wie erwartet! Man kann also auch modifizierte Template-Dateien (bzw, alles, was aus dem Template mit "get_usermod" geladen wird...) in die "USERMODS"-Verzeichnis-Hierarchie einbauen ( "USERMODS/templates/EyeCandy/.....". Die Original-Datei kann an ihrem Original-Standort verbleiben. Damit kann man jetzt auch alle(!) modifizierten Template-Dateien per WinMerge & Co. automatisch abgleichen lassen, und muss nicht einzelne Dateien (mit "-USERMOD" am Ende) untersuchen.... So muss ein "state-of-the-art"-"Template-Override"-Konzept aussehen....
Rückmeldung für Templates: Funzt einwandfrei! Einziges Problem taucht auf, wenn SMARTY aktiv wird und diese Konstrukte auftauchen: Code: $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/checkout_new_address.html'); Da kommt bei Benutzung von get_usermod etc. nix vernünftiges bei rum, was der Shop finden kann.
Das sollte so auch funktionieren, da Smarty in GX2 schon so erweitert wurde, dass immer "get_usermod" auf die Template-Resource angewandt wird, um evtl. eine "USERMOD"-Variante zu finden.. Allerdings nur dann, wenn die Template-Datei neue gelesen werden muss. Cache geleert? "templates_c" geleert?
Hi, danke für das Feedback. Cache leer ich ja praktisch 100 mal am Tag ;-) Aber templates_c bisher nicht. Ich probier das mal. Bedankt!
Ich habe gerade mal im Rahmen meines "USERMOD"-Konzepts den Update 2.11.0 durchgeführt. Man kann das Update-Package einfach in die Shop-Root kopieren! Der automatische Abgleich meiner geänderten PHP-Module im "USERMOD"-Bereich gegen die neuen Programme im Shop-Root mit "WinMerge" ist definitiv ein Segen, da ich sofort die Unterschiede zur aktuellen Version sehe, und die gleich ändern lassen kann. Ich bin mittlerweile so weit, dass ich kein Gambio PHP-Modul mehr direkt ändern muss, außer den folgenden Dateien: Darin muss ich mir noch die Möglichkeit schaffen, meine eigene "get_usermod"-Funktion zu laden, und auch "core"-Klassen über die "get_usermod"-Funktion zu laden, um da meine "Specials" unterzubringen. Was (und wie wenig) das ist, habe ich unter http://www.gambio-forum.de/threads/9026-Service-Pack-2.0.11.0-Bugs?p=66258&viewfull=1#post66258 beschrieben. (Das gilt analog auch für die "admin\includes\application_top.php".) Und wenn Gambio so nett ist, das umzusetzen, dann kann ich ganz ohne direkte Änderungen am Gambio Code auskommen, und alle Änderungen im "USERMOD"-Bereich anlegen...
@Avenger Ist zwar eine gute Idee, aber mit NetBeans und diff-Datei von Gambio ist man schneller und effektiver mit dem Updaten fertig, als mit deiner Methode. Und für den Rest gibt es overloads...
Hallo Das Ganze tönt ja sehr interessant. Zu Testzwecken mal in einen jungfräulichen Shop eingebaut (2.0.12.2) , ein .php angepasst und fertig. Das modifizierte .php wird aber nicht verwendet sondern immer noch das Original. Ich habe alles aus der .zip-Datei kopiert und die .htaccess angepasst. Ordner USERMOD im Shop Root erstellt und die .php Datei entsprechend der Struktur abgelegt. Fertig. Fehlt da noch was? Ich habe zwar den ganzen Thread durchgelesen, aber von verstehen.... Herzlichen Dank und freundliche Grüsse Stephan
zu 95% Fehlt das Cache leeren nach dem ändern. siehe auch hier: (Link nur für registrierte Nutzer sichtbar.)
Hmmm.... Cache leeren gehört bei mir eigentlich zum Standardprozedere. Aber man(n) weiss ja nie. Ich werde es nochmals testen. Ich war nicht sicher ob ich alles gemacht und eingebaut habe das notwendig ist. Es wurde hier über soviel diskutiert dass ich als Dummie einfach nicht mehr durchblicke. Irgendwo werden die application_top.php erwähnt. Ich habe auch das versucht mit dem require_once für die Anpassung von Avenger, ich bekomme aber nur eine Fehlermeldung. Auch das Einschalten des Debuggings verursacht Probleme bei mir. Ich komme dann z.B. Nicht mehr in den Warenkorb... Wie gesagt, ich werde das Ganze nochmals versuchen und hoffe dass es klappt. Wenn nicht werde ich nochmal umHilfe bitten. Ist einfach schade dass Gambio da nichts macht und "nur" für .html und .css was gebaut hat. Das mit dem class-overloading lasse ich sein da ich nicht so tief einsteigen will/kann.