Sto cercando di creare un componente in cui l'utente può aggiungere una voce di menu a un menu esistente dopo aver creato l'articolo (o selezionando da un elenco di articoli). Il più vicino a cui ho potuto imbattermi in un esempio di ordinamento è stata la risposta collegata di seguito, ma era per 2.xe sembra la strada da percorrere. Ma una cosa che ho notato è che non c'era nulla da dimostrare che aggiungeva dati alla tabella #__assets.
Mi manca qualcosa qui, ma ricordo che quando viene creata una voce di menu quando ne aggiungo una dal back-end, inserisce anche un record nella tabella delle risorse. Quindi, se volessi inserire una nuova voce di menu, avrei dovuto inserire i dati rilevanti nella tabella #_assets separatamente?
https://stackoverflow.com/questions/12651075/programatically-create-menu-item-in-joomla?lq=1
in primo luogo - le voci di menu non vengono inserite nella tabella delle risorse, quindi questa domanda riguarda un problema inesistente. Il link fornito nella domanda fornisce la risposta corretta per joom 2.5 e 3.x. ma come riferimento qui è un esempio nella tabella di preparazione di un modello.
$menuTable = JTableNested::getInstance('Menu');
// which menu you want to add to -
$menutype = 'thisismymenusname';
// this is heading menu item but what data you have and require will vary per case - just look at an appropriate row in yr menu table
$menuData = array(
'menutype' => $menutype,
'title' => $table->alias,
'alias' => $table->alias,
'path' => $table->alias,
'type' => 'heading',
'component_id' => 0,
'language' => '*',
'published' => 1,
);
// this item is at the root so the parent id needs to be 1
$parent_id = 1;
$menuTable->setLocation($parent_id, 'last-child');
// save is the shortcut method for bind, check and store
if (!$menuTable->save($menuData))
{
$this->setError($menuTable->getError());
return false;
}
Non proprio una soluzione, ma un'idea:
Di recente ho appreso Kazaam! , un plugin che crea un menu basato sulla tua categoria e struttura dell'articolo.
Come afferma il sito Web, All code is open source, and you are completely free to make changes.
. Guardando il codice sorgente, dovresti essere in grado di vedere come funziona e forse usare parti del codice per il tuo progetto.
Il codice più semplice e leggibile che ha funzionato per me è qui => https://webkul.com/blog/menu-item-joomla-rebuild-automatically/