ich meine Erfahrung dieses Problem in Fällen entsteht, wenn Sie ein Modul haben (ex. Virtuemart Produktliste) irgendwo nicht in dem Abschnitt platziert, wo Sie Ihren Link bringen sollte. Angenommen, Sie haben VM (com_virtuemart) in Ihrem Menü mit Itemid === 731 eingerichtet und Sie fügen ein Produktlistenmodul in die Homepage ein (com_content). Wenn Sie auf das Produkt klicken, das Sie auf die Produktseite bringt, erwarten Sie, dass das Modul den Link so einrichtet, dass Ihr VM-Itemid in den Link ([linkl] & Itemid = 731) aufgenommen wird - aber in den meisten Fällen Es passiert nicht, Ihre Itemid wird nicht zur URL hinzugefügt.
Sie können auch nicht immer (wie in diesem Fall) die korrekte Itemid in Ihren URL-Parametern erwarten. so JRequest::getint('Itemid')
Sachen werden nicht wie erwartet funktionieren.
Ich weiß nicht, warum JRoute :: _ method (es könnte leicht mit einem zusätzlichen Parameter "$ searchForItemid") nicht nach Ihrem Itemid in der Menütabelle suchen, WENN SIE NICHT IN DER KOMPONENTE SIND! Das heißt, wenn Sie das gleiche Produktlistenmodul in der VM-Startseite (com_virtuemart) sichtbar machen, werden Sie sehen, dass das Itemid auf Ihren Links erscheint. Aber in den meisten Fällen muss dieses Modul woanders sein.
Dies ist immer noch der Fall! 2.5.
Ich habe keine Lösung für Sie, aber ich kann Ihnen sagen, wie ich das überwinde.
Offensichtlich können Sie das Modul öffnen und die Itemid hardcodieren. Dies wird in Italien "PORCATA" genannt (Übersetzung: Pig Style Coding) und ich rate aus offensichtlichen Gründen davon ab
Was ich mache ist die Sprachüberschreibung (J! 2.5 - Language Manager: Sprachüberschreibungen), eine Überschreibung wie VM_ITEMID === 731 und dann in dem Modul registrieren i ein eigenes Template zu erstellen und den Link von ändern:
JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id...')
zu:
JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id...'.'&Itemid='.JText::_("VM_ITEMID"))
Ich wiederhole, das ist keine Lösung für das Problem, und dies sollte, IMHO, durch den Kern erledigt werden, aber es funktioniert und auf diese Weise haben Sie die Möglichkeit, die Itemid gebunden an die Komponente zu ändern. hoffe das hilft
ja, ich weiß, dass ich fügen Sie es von Hand aber Joomla sollte damit umgehen – miojamo
Es behandelt es aber nur einmal zeigt es Ihre Komponente aus dem ersten Menü klicken, dann ist es Ihnen überlassen, die ItemId der URL hinzuzufügen, wenn Sie zu verschiedenen Ansichten in Ihnen verknüpfen r Komponente. Einige Komponenten benötigen möglicherweise nicht die Verwendung von ItemId, um die Verwendung zu erzwingen, wäre nicht ideal. Es macht es flexibler und das Hinzufügen von Hand ist keine so große Sache. – Martin