heimrichhannot/contao-news_categories as "suggest"
Opened this issue · 9 comments
Hi,
Wäre es eine gute Idee das "heimrichhannot/contao-news_categories" als "suggest" ins composer.json reinzutun?
Nachdem ich mir den Code angeschaut habe, wollte ich es mit den Kategorien testen und deswegen musste ich die "contao-news_categories" über Composer installieren. Ich habe aber zuerst diese Repo gefunden:
https://github.com/codefog/contao-news_categories
Das Problem mit dieser Repo ist, dass sie einen anderen Bundlenamen bzw. anderen Namespace als die
https://github.com/heimrichhannot/contao-news_categories
repo hat.
Also wenn dann muss es codefog/contao-news_categories
sein. heimrichhannot/contao-news_categories
unterstützt die Extension nicht.
Meiner meinung nach ist es derzeit umgekehrt:
// only import categories if news_categories extension is present
if (!in_array('news_categories', array_keys(System::getContainer()->getParameter('kernel.bundles'))))
{
return;
}
Ist immer FALSE, da codefog/contao-news_categories den Bundlenamen "CodefogNewsCategoriesBundle" und nicht news_categories hat.
heimrichhannot/contao-news_categories hat den Namen "news_categories", weil es eing. kein eichter Symfony-Bundle, sondern ein über Symlink gemappte Contao-Erweiterung ist.
Die heißen nur zufällig gleich ;). Prinzipiell unterstützt die inspiredminds/contao-wordpressimport
Extension die codefog/contao-news_categories
extension. Allerdings ist es so, dass die neueste Version von codefog/contao-news_categories
ein Bundle ist. Davor war es ein reguläres Contao 3 Modul. Daher müsste diese Abfrage dementsprechend aktualisiert werden. Außer codefog/contao-news_categories
hat dafür ein Mapping eingebaut. Das habe ich bisher nicht überprüft.
Die Änderung könnte zB so aussehen:
$bundles = ['news_categories', \Codefog\NewsCategoriesBundle\CodefogNewsCategoriesBundle::class];
if (array_intersect($bundles, array_keys(System::getContainer()->getParameter('kernel.bundles'))) === 0)
{
return;
}
Oder man verzichtet auf den Support älterer codefog/contao-news_categories
Versionen und nimmt folgendes:
$bundle = \Codefog\NewsCategoriesBundle\CodefogNewsCategoriesBundle::class;
if (!in_array($bundle, array_keys(System::getContainer()->getParameter('kernel.bundles'))))
{
return;
}
Und in der composer.json
zusätzlich einen conflict:
{
"conflict": {
"codefog/contao-news_categories": "<3.0"
}
}
Und natürlich den suggest.
Die 1. Version gefällt mir besser, weil es eig. mit dem heimrichhannot-Modul auch funktioniert. :)
heimrichhannot/contao-news_categories
ist aber nur ein Fork von codefog/contao-news_categories
. Es gibt imho keinen Grund in Contao 4 heimrichhannot/contao-news_categories
statt codefog/contao-news_categories
(in Version 3.x und höher) zu verwenden.
Oder gibt es einen Grund, warum du unbedingt den heimrichhannot/contao-news_categories
fork benutzt, anstatt das Original? Vor allem unter Contao 4 solltest du lieber codefog/contao-news_categories
in Version >=3.0
verwenden.
Nein, es gibt keinen bestimmten Grund, ich habe es nur deswegen installiert, dass es mit deiner Erweiterung zusammenarbeiten kann. :)
Achso, in dem Fall würde ich eher empfehlen codefog/contao-news_categories:^2.0
zu installieren ;)