Seiten

Donnerstag, 20. Januar 2011

OXID "Modulentwicklung" III

So der zweite Tag in Folge ohne nennenswerte Fortschritte. In der Zeile hinter den erzeugten Einträgen aus der Datenbank erscheint ein kleines X, dass beim  Mouseover rot aufleuchtet und verlinkt ist. Beim Anklicken wird die JaveScript methode deleteThis() ausgeführt. Diese benötigt scheinbar eine sDeleteMessage aus dem Pfad
top.basefrm.list.sDeleteMessage oder aus top.basefrm.edit.sDeleteMessage. Wieso weiß ich nicht.

Ich bin nun davon ausgegangen, dass sich die scheinbar im Gegensatz zu oxid.admin. ... nirgendwo definierte
basefrm auf den in jedem Backendfenster enthaltenen unteren Frame bezieht. Da die Methode nicht weiter ausgeführt wird, wenn das beim Regulären Ablauf aufgerufene Popup Fenster nicht mit ja bestätigt wird und die einzige Möglichkeit dies zu umgehen ein Umschreiben der script datei wäre, was nicht in Frage kommt, muss unbedingt so ein blöder Bottom Frame eingeführt werden. Allerdings ist es mit heute auf Biegen und Brechen nicht gelungen einen vernünftig einzufügen. Ich habe nicht den leisesten Schimmer, was ich falsch gemacht habe. Aber wie ich mich kenne war es etwas, woran ich hätte denken können, es aber nicht getan habe.

Das nächste Ziel wird also sein auf irgend eine weise diese meldung zustande kommen zu lassen, damit ich mich endlich der Parameterübergabe und der zugehörigen Löschfunktion zuwenden kann. Es ist wirklich kaum zu fassen wie schwer mir momentan ein fortkommen in diesem Problem fällt.

Mittwoch, 19. Januar 2011

Oxid Modulentwicklung II 19-1-2010

Heute ging die Modulentwicklung in die zweite Runde.

Ausgehend von dem Gutscheinserieneintrag im Backend der Community - Edition und dem damit verbundenen Template-Code habe ich heute eine Erweiterung fabriziert, welche den Code übernimmt und statt der Voucherseries- direkt die Voucher-Tabelle abfragt.

Die zugehörige Klasse, bzw. das damit verbundene php Dokument war aufgrund seiner einfachen Struktur, welche direkt die in der Template vorhandenen vergebenen Attribute zur SQL-Abfrage nutzt dazu in der Lage die in der Table vorhandenen Gutscheine anzuzeigen.
Aus demselben  Grund funktioniert auch die bereits vorhandene Suchfunktion.

Um überhaupt auf die Idee zu kommen, dass das funktionieren könnte musste aber der Code etwa eineinhalb Stunden durchwühlt werden. Erkundet wurde dabei die Parameterübergabe zwischen Template und den operierenden Klassen. Der Shop ist nach dem Model-View-Controller-Prinzip aufgebaut, die Objekte, Modelle und die Darstellung für den Benutzer oder auch Administrator streng trennt.

Die nächsten Schritte sind nun die ID's der einzelnen Gutscheine entsprechend der zugehörigen Serie aufzulösen und einzelne Einträge gemäß des Planes zeilenweise in eine art Papierkorb-Tabelle zu verschieben und anschließend zu löschen.

Wenn die Fortschritte weiter so gut sind wie heute kann es sogar möglich sein.
Versuche die bestehende Mathode zur Löschung einzelner Einträge zu nutzen war übrigens bis jetzt nicht erfolgreich.

Dienstag, 18. Januar 2011

Gutscheine und OXID 18-1-2011

Heute bin ich nach der Schule noch kurz zur Arbeit gekommen, um mich weiter mit dem Oxid - Skelett zu beschäftigen. Ich habe also die mir bekannten Templates (.tpl) und .php - Dateien geöffnet und wieder zwischen dem ganzen SMARTY Geschreibsel, dem HTML - Code und nicht zu wenig Java Script versucht zu verstehen, wie der Shop mit seiner Template interagiert.
Nachdem ich wieder einige kleine Änderungen zu testzwecken vorgenommen habe konnte ich einige Dinge feststellen. Es gibt wohl für so ziemlich jeden denkbaren Parameter ein oxid - Smarty Kürzel. Ich weiß immer noch nicht, was $edit-> tut, stehen da einfach nur rudimentär werte drin? Weiterhin keine Ahnung, wie man Methoden aufruft, oder die Klassen des Shops dazu bringt irgendetwas zu tun. Die schiere Menge an Java Script lässt mich annehmen, dass es nicht nur der Darstellung dient.
Im Moment habe ich keine Ahnung, wo ich Anfangen soll, weil ich nicht weiß, was ich nicht weiß. Abgesehen davon, dass ich kaum Kenntnisse von Java Script habe und nicht weiß, wofür es außer zur Darstellung sonst noch genutzt wird.

Ich werde mich wohl Morgen mit dem Oxid - Forum beschäftigen. Vielleicht stehen da ja ein paar hilfreiche Informationen drin. Auch die Tutorials werde ich mir noch einmal ansehen, aber ich erinnere mich daran, dass ich mit den Infos nicht allzu viel anfangen konnte.
Dann habe ich heute noch ein paar Gutscheine verschickt.
Das war mein Tag

Montag, 17. Januar 2011

OXID Entwicklung 17-1-2010

Also gut. Nachdem ich heute unser Wochemeeting abgetippt habe verbrachte ich den restlichen Vormittag damit mein Auswertungstool weiter zu vervollständigen. Ich habe noch eine Jahresabfrage für 2012 hinzugefügt um mein nettes kleines Werkzeug bis 2015 gangbar zu machen. Das einzige, was jetzt noch zu tun bleibt, ist regelmäßig die im Shop geschriebenen Daten in die Lokale Workbench zu importieren, damit das Tool diese auswerten kann.

Die Implementierung der von meinem Kollegen Matthias gewünschten Funktion, um eine nach Sprachen getrennte Auswertung zu machen kann ich im Moment aus Zeitgründen nicht ausführen, da ich mich nun ersteinmal um das seit längerem geplante Gutschein - Modul für OXID zu schreiben. - Oder es zumindest zu versuchen.

Die Anforderungen sind eigentlich nicht einmal so hoch:
Die im Shop angelegten Gutscheine sollen nach Gutscheincode gesucht werden können und Gutscheine sollen hier auch entwertet werden können. Allerdings muss man dazu erst einmal wissen, wie das System funktioniert und wie man Daten von den Templatedateien die für die Darstellung zuständig sind übergeben kann.
Die Mysteriöse changeFnc() könnte dabei eine Rolle Spielen? - oder auch nicht.
Die bereits zu Testzwecken angelegten kleinen Erweiterungen und geerbten Klassen werden mich hoffentlich in den nächsten Tagen dazu bringen dieses Geheimnis zu lösen, damit ich mich um die Implementierung kümmern kann.