Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
oxid [2015/05/27 11:31] – [Shop offline] gerald | oxid [2023/09/21 13:36] – gerald | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Oxid ====== | ====== Oxid ====== | ||
+ | 2023: Download der letzten freien Open Source Versionen: [[https:// | ||
- | [[oxid:images|Images/ | + | [[oxid:gutscheine|Gutscheincodes]] |
+ | [[oxid: | ||
[[oxid: | [[oxid: | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | |||
+ | [[http:// | ||
[[http:// | [[http:// | ||
Zeile 16: | Zeile 23: | ||
* [[bootstrap|Bootstrap]][[http:// | * [[bootstrap|Bootstrap]][[http:// | ||
* [[jquery|jQuery]] | * [[jquery|jQuery]] | ||
+ | * [[phpmailer]] | ||
[[http:// | [[http:// | ||
+ | |||
+ | Ansicht aller Module/ | ||
{{:: | {{:: | ||
Zeile 29: | Zeile 39: | ||
[[http:// | [[http:// | ||
+ | |||
+ | ===== Fehlermeldungen anzeigen ===== | ||
+ | |||
+ | Fehler/ | ||
+ | |||
+ | Quelle((https:// | ||
+ | |||
+ | * möglicherweise protokolliert der Shop die Fehler in der Datei „exception.log“. | ||
+ | Diese finden Sie bis Shopversion 4.1.6 im Hauptordner Ihres Shops. | ||
+ | In späteren Versionen liegt diese Datei mit dem Namen „EXCEPTION_LOG.txt“ bzw. „oxideshop.log“ im Shop-Unterverzeichnis „log“. | ||
+ | Diese Datei erfordert zwingend Schreibrechte. | ||
+ | * Deaktivieren Sie den Produktivmodus im Adminbereich des Shops. Nach der Fehlersuche muss dieser unbedingt wieder aktiviert werden! Kann der Adminbereich nicht aufgerufen werden, können Sie den Produktiv-Modus auch in der Datenbank deaktivieren: | ||
+ | * in der Datei „config.inc.php“ setzen Sie die Zeile $this-> | ||
+ | * Fügen Sie ebenfalls in der „config.inc.php“ nach dem „<? | ||
+ | * Sollte dies alles nicht helfen, können Sie die Fehlerausgabe erzwingen. Legen Sie sich dazu von der Datei „oxshopcontrol.php“ im „views“-Ordner (ab Version 4.7.0 / 5.0.0 im Ordner „core“ ) eine Sicherung an und öffnen Sie das Original. | ||
+ | |||
+ | Fügen Sie vor der Zeile | ||
+ | < | ||
+ | bitte folgenden Absatz ein: | ||
+ | } catch (Exception $oEx) { | ||
+ | dumpvar($oEx); | ||
+ | die(); | ||
+ | </ | ||
+ | |||
+ | Der Abschnitt sieht dann wie folgt aus: | ||
+ | < | ||
+ | try { | ||
+ | $this-> | ||
+ | } catch (Exception $oEx) { | ||
+ | dumpvar($oEx); | ||
+ | die(); | ||
+ | } catch( oxSystemComponentException $oEx ) { | ||
+ | </ | ||
+ | Stellen Sie nach der Fehlersuche unbedingt die Sicherung dieser Datei wieder her! | ||
+ | |||
+ | Nun sollten Sie eine Fehlermeldung sehen, anhand dieser wir das Problem besser einschätzen können. | ||
Zeile 113: | Zeile 159: | ||
Tutorials/ | Tutorials/ | ||
+ | |||
+ | ===== Admin: menu.xml ===== | ||
+ | |||
+ | Menupunkte hinzufügen/ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Eigene Admin-Seite erstellen ===== | ||
+ | |||
+ | [[http:// | ||
===== Programmierung ===== | ===== Programmierung ===== | ||
Zeile 244: | Zeile 300: | ||
[{$ergebnis}] | [{$ergebnis}] | ||
</ | </ | ||
+ | ==== Einfache SQL-Abfrage, | ||
+ | Mit folgendem SQL-Statement kann man Merfachaccounts mit gleichem Nachnamen und PLZ aus der Datenbank auslesen: | ||
+ | < | ||
+ | SELECT oxuser.oxfname, | ||
+ | FROM oxuser, ( | ||
+ | SELECT oxlname, oxzip | ||
+ | FROM oxuser | ||
+ | GROUP BY oxlname, oxzip | ||
+ | HAVING COUNT( * ) >1 | ||
+ | ) AS doubles | ||
+ | WHERE oxuser.oxlname = doubles.oxlname | ||
+ | AND oxuser.oxzip = doubles.oxzip | ||
+ | ORDER BY oxuser.oxlname, | ||
+ | </ | ||
+ | |||
==== Admin: Zuerst “alle” Oxid-Bestellungen anzeigen* ==== | ==== Admin: Zuerst “alle” Oxid-Bestellungen anzeigen* ==== | ||
Quelle((http:// | Quelle((http:// | ||
+ | |||
+ | Oxid Source: Folgendes in der order_list.php (oxid 4.87) einfügen/ | ||
+ | < | ||
+ | public function render() | ||
+ | { | ||
+ | parent:: | ||
+ | |||
+ | $aFolders = $this-> | ||
+ | $sFolder | ||
+ | // first display new orders | ||
+ | if ( !$sFolder && is_array( $aFolders )) { | ||
+ | $aNames = array_keys( $aFolders ); | ||
+ | $sFolder = $aNames[-1]; | ||
+ | } | ||
+ | |||
+ | $aSearch | ||
+ | $sSearch | ||
+ | $sSearchfld = oxConfig:: | ||
+ | |||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | |||
+ | return „order_list.tpl“; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Adding folder check | ||
+ | * | ||
+ | * @param array $aWhere | ||
+ | * @param string $sqlFull SQL query string | ||
+ | * | ||
+ | * @return $sQ | ||
+ | */ | ||
+ | protected function _prepareWhereQuery( $aWhere, $sqlFull ) | ||
+ | { | ||
+ | $oDb = oxDb:: | ||
+ | $sQ = parent:: | ||
+ | $myConfig = $this-> | ||
+ | $aFolders = $myConfig-> | ||
+ | $sFolder = oxConfig:: | ||
+ | //searchong for empty oxfolder fields | ||
+ | if ( $sFolder && $sFolder != ‚-1‘ ) { | ||
+ | $sQ .= “ and ( oxorder.oxfolder = „.$oDb-> | ||
+ | } elseif ( !$sFolder && is_array( $aFolders ) ) { | ||
+ | $aFolderNames = array_keys( $aFolders ); | ||
+ | //$sQ .= “ and ( oxorder.oxfolder = „.$oDb-> | ||
+ | } | ||
+ | |||
+ | return $sQ; | ||
+ | } | ||
+ | </ | ||
+ | | ||
+ | ==== Oxid Captcha unleserlich ==== | ||
+ | |||
+ | Quelle((http:// | ||
+ | |||
+ | Update gemacht? 4.9.7? | ||
+ | |||
+ | Evtl. config.inc.php vergessen? | ||
+ | < | ||
+ | /** | ||
+ | * Captcha encryption key. | ||
+ | */ | ||
+ | $this-> | ||
+ | </ | ||
+ | |||
+ | | ||
==== Admin: Erledigte Bestellungen hervorheben ==== | ==== Admin: Erledigte Bestellungen hervorheben ==== | ||
Quelle((http:// | Quelle((http:// | ||
+ | Oxid Source: Folgendes in der order_list.tpl (oxid 4.87) in Zeile 110 einfügen: | ||
+ | < | ||
+ | < | ||
+ | .ready{ | ||
+ | color:# | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | Dann unterhalb von: | ||
+ | < | ||
+ | [{ if $listitem-> | ||
+ | [{assign var=“listclass“ value=listitem4 }] | ||
+ | [{ /if}] | ||
+ | </ | ||
+ | folgendes einfügen (ca. Zeile 134): | ||
+ | < | ||
+ | [{assign var=“ready“ value=“ ready“ }] | ||
+ | [{ if $listitem-> | ||
+ | </ | ||
===== Probleme ===== | ===== Probleme ===== | ||
Zeile 358: | Zeile 518: | ||
===== Allgemeine Tipps ===== | ===== Allgemeine Tipps ===== | ||
+ | |||
+ | ==== OXID Datenbankdump ohne Views ==== | ||
+ | Quelle((http:// | ||
+ | |||
+ | |||
+ | OXID nutzt für die Mehrsprachigkeit die Views von MySQL. Bei einigen Hostern machen diese jedoch Probleme, wenn man die Datenbank per mysqldump sichern möchte. | ||
+ | |||
+ | Glücklicherweise beginnen die Views alle mit “oxv_”, so dass man diese auschließen kann. | ||
+ | |||
+ | Hier das Entsprechende Script für den Aufruf auf der Commandline: | ||
+ | < | ||
+ | mysql [dbname] -u [username] -p[password] -e 'show tables where tables_in_[dbname] not like " | ||
+ | </ | ||
+ | Es werden alle Tabellen ausgelesen, welche nicht mit oxv_ beginnen und ein Dump mit allen anderen erzeugt. | ||
+ | |||
+ | Nachdem man den Dump in die neue Datenbank importiert hat, im Backend unter “Tools” einfach die Views neu erzeugen. | ||
+ | |||
+ | In manchen Versionen ist jedoch ohne Views gar kein Login ins Backend möglich. Hier hilft das setzen des entprechenden Eintrags in der config.inc.php | ||
+ | |||
+ | < | ||
+ | |||