Contao 3 Modul nach Merconis Bundle laden

Alle sonstigen Fragen und Antworten (z. B. zu Modulen oder der allgemeinen technischen Realisierung)
Antworten
mhonatias
Beiträge: 17
Registriert: 2. Nov 2018, 12:12

Contao 3 Modul nach Merconis Bundle laden

Beitrag von mhonatias »

Hi,
ich habe ein Modul im Stil von Contao 3 (kein Bundle) und ich will tl_ls_shop_product erweitern.
Das alles ist auf einem Contao 4.4 System und ich bin noch nicht dazu gekommen die Erweiterung in Bundle-Form zu bringen.

Code: Alles auswählen


$GLOBALS['TL_DCA']['tl_ls_shop_product']['palettes']['default'] = str_replace
(
    '{lsShopPublishAndState_legend},
			published,
			lsShopProductIsNew,',
    '{lsShopPublishAndState_legend},
			published,
			lsShopProductIsNew,
            lb_isConsulting',
    $GLOBALS['TL_DCA']['tl_ls_shop_product']['palettes']['default']
    );
$GLOBALS['TL_DCA']['tl_ls_shop_product']['palettes']['default'] = str_replace
(
    '{lsShopUnits_legend},
			lsShopProductQuantityUnit,
			lsShopProductMengenvergleichUnit;',
    '{lsShopUnits_legend},
			lsShopProductQuantityUnit,
			lsShopProductMengenvergleichUnit,
                lb_Duration;',
    $GLOBALS['TL_DCA']['tl_ls_shop_product']['palettes']['default']
    );


// Hinzufügen der Feld-Konfiguration
$GLOBALS['TL_DCA']['tl_ls_shop_product']['fields']['lb_isConsulting'] = array
(
    'label'     => &$GLOBALS['TL_LANG']['tl_ls_shop_product']['lb_isConsulting'],
    'inputType' => 'checkbox',
    'eval'      => array('feEditable'=>true, 'feViewable'=>true,'rgxp'=>'time'),
    'sql'       => "int(10) unsigned NOT NULL default '0'"
);

$GLOBALS['TL_DCA']['tl_ls_shop_product']['fields']['lb_Duration'] = array
(
    'label'     => &$GLOBALS['TL_LANG']['tl_ls_shop_product']['lb_Duration'],
    'inputType' => 'text',
    'eval'      => array('feEditable'=>true, 'feViewable'=>true,'rgxp'=>'time'),
    'options_callback'  => array('lb_productClass', 'myOptionsCallback'),
    'sql'       => "int(10) unsigned NOT NULL default '0'"
);
Allerdings erscheinen die Felder nicht im Backend. Ich gehe davon aus, dass ich mein Modul nach Merconis laden muss.
Jedoch weiß ich nicht was ich für das Merconis Bundle in die autoload.ini eintragen muss. Oder muss ich selber ein Bundle haben um das machen zu können?
Als Fehlermeldung bekomme ich ("The module folder "system/modules/LeadingSystemsMerconisBundle" does not ex
ist."). Ich weiß jetzt leider nicht ob ich einfach nicht den richtigen Namen eingetragen habe oder ob es generell nicht funktioniert.
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Contao 3 Modul nach Merconis Bundle laden

Beitrag von supportteam2 »

Hallo,

bitte schicken Sie Ihr Modul mal per E-Mail an unseren techSupport. Wir werfen dann gerne mal einen Blick darauf!
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Contao 3 Modul nach Merconis Bundle laden

Beitrag von supportteam2 »

Wenn wir Ihre Erweiterung ausprobieren, erhalten wir nicht exakt die Fehlermeldung, die Sie genannt haben, sondern "The module folder "system/modules/contao-merconis" does not exist."

Möglicherweise haben Sie zwischen Ihrem Foren-Eintrag und dem Senden Ihrer Erweiterung nochmal etwas verändert.

Klar ist: Wenn Sie eine Erweiterung mit "requires[]" in der autoload.ini angeben, erwartet Contao eine Erweiterung im Contao-3-Stil, die dann natürlich in "system/modules" liegen müsste. Ich vermute, dass es daher nicht möglich ist, eine richtige Bundle-Erweiterung auf diese Art in der Ladereihenfolge festzulegen.

Am besten entfernen Sie nun mal diesen Eintrag komplett. Möglicherweise werden Bundle-Erweiterungen automatisch vor den Legacy-Erweiterungen geladen, dann würde es sich ja automatisch so verhalten, wie Sie möchten. Falls das nicht der Fall ist (wir arbeiten selbst gar nicht mehr mit Legacy-Erweiterungen, deshalb bin ich hier kein Experte), fragen Sie doch mal im Contao-Forum, ob es hierfür eine Lösung gibt. Die Problemstellung hat ja nicht direkt mit Merconis zu tun und wurde deshalb dort evtl. schon mal diskutiert.

Und wenn alles nichts hilft, erstellen Sie eine Bundle-Erweiterung, in der Sie Ihre Merconis-Modifikation unterbringen. Sie müssen hierfür ja nicht die gesamte bestehende Erweiterung zum Bundle machen, sondern es reicht, wenn Sie ein neues Bundle erstellen, das lediglich die Dinge enthält, die Sie im Zusammenhang mit Merconis benötigen.
mhonatias
Beiträge: 17
Registriert: 2. Nov 2018, 12:12

Re: Contao 3 Modul nach Merconis Bundle laden

Beitrag von mhonatias »

Ja ich habe halt verschiedene Bezeichnungen ausprobiert, da er ja merconis-bundle nicht gefunden hat. Und wie kann ich denn Feststellen, ob meine Erweiterung vor oder nach Merconis geladen wird? Meine Vermutung ist ja, dass meine Erweiterung vorher geladen wird, da ich keine zusätzlichen Felder in beim Produkt bekomme. Es geht ja darum dem Produkt 2 neue Felder zu geben, die sind auch in der Datenbank, aber im Backend nicht.
Zudem gebe ich beim require[] ja auch "core" und "calendar" an, beide sind auch nur als Bundle vorhanden.
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Contao 3 Modul nach Merconis Bundle laden

Beitrag von supportteam2 »

Dass die Angabe von Merconis als "requires" Eintrag in der autoload.ini Contao dazu veranlasst, Merconis unter "system/modules" zu suchen, war bei unserem Test offensichtlich. Aber Sie haben natürlich recht, dass es seltsam ist, dass die Einträge für "core" und "calendar" funktionieren, obwohl diese beiden Module ebenfalls Bundles sind. Da wir selbst keine Legacy-Erweiterungen verwenden, fehlt mir aber einfach auch die Erfahrung, um das Verhalten von Contao in diesem Zusammenhang beurteilen zu können. Im Contao-Forum kann aber bestimmt jemand erklären, was Contao mit den "requires"-Einträgen der autoload.ini macht.

Ob Ihre Erweiterung vor oder nach Merconis geladen wird, können Sie feststellen, indem Sie z. B. durch eine Testausgabe o. Ä. prüfen, ob in Ihrer Datei "tl_ls_shop_product.php" die Variable GLOBALS['TL_DCA']['tl_ls_shop_product'], auf die Sie sich mit Ihrer Erweiterung ja beziehen, bereits existiert und gefüllt ist. Ist dies nicht der Fall, wird Ihre Erweiterung sehr wahrscheinlich vor Merconis geladen.
mhonatias
Beiträge: 17
Registriert: 2. Nov 2018, 12:12

Re: Contao 3 Modul nach Merconis Bundle laden

Beitrag von mhonatias »

Ok,
ich frage im Contao Forum. Anscheinend stimmt ja auch das DCA oder? Im Installtool kann ich ja die Felder hinzufügen, sie erscheinen nur nicht im Backend.
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Contao 3 Modul nach Merconis Bundle laden

Beitrag von supportteam2 »

Auf den ersten Blick sieht das DCA gut aus, aber wir haben es natürlich nicht im Detail analysiert. Ob also z.B. das Einfügen der Felder in die Palette mittels str_replace nicht funktioniert, können wir nicht beurteilen. Wäre hier ein Fehler drin, dann würden die Felder im Installtool zwar angelegt, im Backend aber dennoch nicht auftauchen.
Antworten

Zurück zu „Sonstiges / Misc.“