Ich habe ein Modul erstellt, in dem es auf einer der Seiten hakt. Wie kann ich den Link meines benutzerdefinierten Moduls im oberen horizontalen Menü von Prestashop 1.6 anzeigen? Wenn ich zu Modulen -> Module navigiere und nach dem obersten horizontalen Menü suche. und wenn ich auf die Schaltfläche Konfigurieren klicke, um auf die Modulkonfigurationsseite zuzugreifen, wie kann ich meinen Modullink in den verfügbaren Elementelisten sehen. d. h. das Bild im Link "Verfügbare Elemente, die ich möchte" anzeigen möchte. Link von meinem benutzerdefinierten Modul, das ich entwickelt habe. das heißt, wenn mein benutzerdefinierter Modul den Link installiert ist, muss hier in den verfügbaren Elementen erscheinen, so dass ich meine Gewohnheit das ausgewählte Element Link hinzufügen kann So fügen Sie einen neuen Link für meine benutzerdefinierte Modulseite zum oberen horizontalen Menü in Prestashop 1.6.4 hinzu
1
A
Antwort
2
Sie haben zwei Möglichkeiten:
es von Hand erstellen im Backoffice
In der Konfigurationsseite des Blocktopmenü-Moduls können Sie einen neuen benutzerdefinierten Link unter
ADD A NEW LINK
Block erstellen. Der Link zu Ihrem Modul lautet/module/your_module_name/your_controller_name
. Dann können Sie diesen Link zu Ihrem Menü unterMENU TOP LINK
hinzufügen.es programmatisch
Im Installationsmethode des Moduls erstellen Sie diesen benutzerdefinierten Link Methoden blocktopmenu erstellen können.
if (Module::isInstalled("blocktopmenu")) { // You will have to put the right path in here require_once('../blocktopmenu/menutoplinks.class.php'); $languages = $this->context->controller->getLanguages(); $shops = Shop::getContextListShopID(); $links_label = array(); $labels = array(); foreach ($languages as $key => $val) { // You need to replace "my_module" and "my_controller" to get a link to your controller $links_label[$val['id_lang']] = Context::getContext()->link->getModuleLink("my_module", "my_controller"); // Here set your link label for the menu $labels[$val['id_lang']] = "My Link Name"; } foreach ($shops as $shop_id) { $added = MenuTopLinks::add($links_label, $labels, 0, (int) $shop_id); // You can check wether $added is true or false } }
es
public function install() { if (! parent::install()) { return false; } if (Module::isInstalled("blocktopmenu")) { // You will have to put the right path in here require_once('../blocktopmenu/menutoplinks.class.php'); $languages = $this->context->controller->getLanguages(); $shops = Shop::getContextListShopID(); foreach ($shops as $shop_id) { $links_label = array(); $labels = array(); foreach ($languages as $key => $val) { // You need to replace "my_module" and "my_controller" to get a link to your controller $links_label[$val['id_lang']] = Context::getContext()->link->getModuleLink("my_module", "my_controller", array(), null, $val['id_lang'], $shop_id); // Here set your link label for the menu $labels[$val['id_lang']] = "My Link Name"; } $added = MenuTopLinks::add($links_label, $labels, 0, (int) $shop_id); if ($added) { $link_id = Db::getInstance()->getValue(" SELECT DISTINCT id_linksmenutop FROM `"._DB_PREFIX_."linksmenutop_lang` WHERE link LIKE '" . $link . "' AND id_shop LIKE '" . $shop_id . "' "); Configuration::set("MY_MODULE_LINKS_TOP_" . $shop_id, $link_id); } } } } public function uninstall() { if (! parent::uninstall()) { return false; } if (Module::isInstalled("blocktopmenu")) { // You will have to put the right path in here require_once('../blocktopmenu/menutoplinks.class.php'); $shops = Shop::getContextListShopID(); foreach ($shops as $shop_id) { $link_id = Configuration::get("MY_MODULE_LINKS_TOP_" . $shop_id); if ($link_id !== false) { MenuTopLinks::remove($link_id, $shop_id); } } } }
-Code nicht getestet programmatisch mit automatischer Unterdrückung schaffen, sondern mit Prestashop 1.6 arbeiten müssen.
Verwandte Themen
- 1. Prestashop: Fügen Sie Produkte zu einem neuen Warenkorb hinzu
- 2. Wie fügen Sie einen Link zum Thumbnail in WordPress hinzu?
- 3. So fügen Sie eine benutzerdefinierte Validierung zum Magento-Prototyp hinzu
- 4. So fügen Sie benutzerdefinierte Markierungen hinzu Gmap
- 5. So fügen Sie benutzerdefinierte ASP.NET-Seiten zum Sharepoint hinzu
- 6. So fügen Sie eine benutzerdefinierte Ausnahme auf symfony2 hinzu
- 7. Fügen Sie einen horizontalen Rand hinzu, wenn Platz verfügbar ist
- 8. So fügen Sie eine benutzerdefinierte Vorlagenseite zu Mezzanine hinzu?
- 9. So fügen Sie benutzerdefinierte Codeanalyse in ReSharper hinzu
- 10. Prestashop 1.6 Oben Horizontal Menü Internationalisierung
- 11. So fügen Sie eine URL [LINK] in Wix Installer hinzu
- 12. So fügen Sie einen Aufpreis hinzu
- 13. Fügen Sie einen Link in einem div-Tag hinzu
- 14. So fügen Sie einem neuen Kontakt strukturierte Daten hinzu Absicht
- 15. So fügen Sie benutzerdefinierte Felder zum Anpassen des Menüs in Wordpress hinzu
- 16. So fügen Sie ein Satelliten-Menü zu meinem Projekt hinzu
- 17. So fügen Sie einem WordPress-Plugin benutzerdefinierte Felder hinzu
- 18. Wordpress-Plug-ins: So fügen Sie benutzerdefinierte URL-Handles hinzu
- 19. Fügen Sie einen benutzerdefinierten Link zur Hudson-Projektseite hinzu
- 20. So fügen Sie benutzerdefinierte Soap-Header in wcf hinzu?
- 21. So fügen Sie benutzerdefinierte Funktionen in Apache Storm hinzu
- 22. So fügen Sie Quellcode zum Jacoco-Bericht in Gradle hinzu
- 23. So fügen Sie einen Menüeintrag im Windows-Kontextmenü hinzu
- 24. Fügen Sie dem SalesForce-Dateiauswahl-Dropdown-Menü einen neuen Dateipfad hinzu
- 25. So fügen Sie benutzerdefinierte TypeScript Global Interfaces hinzu
- 26. So fügen Sie Eingabewerte hinzu
- 27. Contribute CS4 - So fügen Sie benutzerdefinierte CSS-Stile hinzu
- 28. So fügen Sie einen Timer in aodv mit ns2 hinzu
- 29. So fügen Sie einen Titel und einen Teilstring hinzu
- 30. So fügen Sie eine benutzerdefinierte Bibliothek zu einer Arbeitsdatei hinzu
Ok Es funktioniert und ich habe den Pfad korrekt gesetzt require_once ('/../ blocktopmenu/menutoplinks.class.php'); Aber wenn ich mein Modul von BO deinstallieren die Links werden nicht entfernt So, wie das zu entfernen Muss ich etwas in die Deinstallation auch? @Florian Lemaitre –
ja, bei der Deinstallationsmethode 'MenuTopLinks :: remove ($ id_linksmenutop, $ id_shop)' verwenden, um Ihre Links zu entfernen – leninhasda
Hi @JerryAbraham wird es Ihnen nichts ausmachen, diese Antwort zu akzeptieren, um diesen Thread als gelöst zu markieren? Oder benötigen Sie weitere Informationen? –