Frage zum Überschreiben von application/controllers/admin/article_main.php

Ich würde gerne ein kleines Modul schreiben, welches die save Methode innerhalb der Klasse “Article_Main” überschreibt. Wie kann ich das machen? Wie muss meine metadata.php für mein Modul aussehen?

So schaut Sie im Moment aus:

<?php
$sMetadataVersion = ‘1.0’;

$aModule = array(
‘id’ => ‘myarticle’,
‘title’ => ‘myArticle’,
‘description’ => ‘Do Something’,
‘version’ => ‘1.0’,
‘author’ => ‘Blubb’,
‘extend’ => array(
‘article_main’ => ‘my/article/controllers/article_main.php’
)
);

Die Zugehörige article_main.php sieht momentan so aus:

<?php
class Article_Main extends Article_Main_parent {

public function save()
{
error_log(‘I was here’, 3, DIR . ‘/test.log’);
}
}

Wenn ich nun im Admin-Bereich einen Artikel anlege wird nicht, wie erwartet, nur ein log file geschrieben und sonst nix, sondern die save Methode wird ganz normal ausgeführt und kein log file geschrieben. d.h. Beim Speichern kommt oxid gar nicht an meinem Code vorbei.

Außerdem steht beim aktivieren des Moduls im Admin-Bereich der Fehler:

“Es wurden ungültige Module erkannt.”

Kann ich irgendwo ein log einschalten um etwas mehr Informationen zum Fehler zu erhalten?

Hi,

am besten mit den OXID-Modulen vergleichen:
https://github.com/OXID-eSales/oxideshop_ce/blob/b-dev-ce/source/modules/oe/invoicepdf/metadata.php
Hier fällt zB auf, dass die Dateiendung .php bei “extend” nicht hingehört.

Ja: Ein Blick in bestehende Module ist definitiv nicht verkehrt :slight_smile:
Ich hatte mich auch mal an diesem Thema versucht:
http://planet.oxidforge.org/2013/06/how-to-write-a-module-for-oxid-eshop-display-you-will-save-x-on-the-product-details-page.html

Ansonsten einfach mal hier suchen:

Genug zu lesen? ^^
Vielleicht bringt’s Dich weiter.

Gruß

Not Found

The requested URL /2013/06/how-to-write-a-module-for-oxid-eshop-display-you-will-save-x-on-the-product-details-page.html was not found on this server.

Zukünftig bitte keine externen Links als ultimative Antwort hier posten. Wenn schon, dann nur Forum interne Links.
Danke

Naja, 4,5 Jahre später kann ein link auch mal ins leere führen.
https://marco-steinhaeuser.de/how-to-write-a-module-for-oxid-eshop-display-you-will-save-x-percent-on-the-product-details-page.html

1 Like