Back to top

Autore Topic: Nuovo componente: non lo vedo tra le scelte di menų  (Letto 2925 volte)

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Salve a tutti, sto sviluppando un nuovo componente per J1.7, ma non riesco a renderlo disponibile nelle scelte dei tipi di menų.

mi spiego meglio: prima la 1.5 leggeva le varie views disponibili e le mostrava all'utente, ora invece niente!
il componente č stato installato correttamente, ma quando faccio nuovo menų non mi compare nell'elenco.

probabilmente mi sono perso una stupidaggine, ma non riesco a capire cosa..

EDIT: uops! trovato http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!1.6_-_Part_03  ::)
« Ultima modifica: 20 Lug 2011, 13:05:40 da tampe125 »
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

mau_develop

  • Visitatore
Re:Nuovo componente: non lo vedo tra le scelte di menų
« Risposta #1 il: 20 Lug 2011, 20:45:42 »
...ora quando scopri come usare pių controller in un componente magari spiegamelo ... io ho usato un modo fantasioso per farlo come con la 1.5... :)

M.

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Re:Nuovo componente: non lo vedo tra le scelte di menų
« Risposta #2 il: 20 Lug 2011, 23:17:40 »
oddio se mi dici cosė mi fai venire mille dubbi...

io nella 1.5 facevo la require del controller di volta in volta...

perchč ora non si puō pių fare nella 1.7?

non mi dire cosė, che sto diventando scemo a far funzionare un mio (mezzo) componente con la 1.7

pensa che non mi funzionano nemmeno i file di lingua..  :'(


www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

mau_develop

  • Visitatore
Re:Nuovo componente: non lo vedo tra le scelte di menų
« Risposta #3 il: 21 Lug 2011, 15:43:16 »
io nella 1.5 facevo la require del controller di volta in volta...
perchč ora non si puō pių fare nella 1.7?
---------------------------------------
sembra di no, ho provato in mille modi ma sembra che l'unico modo che funzioni, almeno a me, č chiamare la classe del controller nell'entry e istanziare la classe nel controller stesso, un po come se fossero "singoli".
... ma se per questo non trovo nemmeno il modo di far eseguire una task ad un pulsante di menų, se non fare il rebuild della request nel file router.php...
... sto buttando via un sacco di tempo dietro queste scemenze... mannaggia a me e quando ho promesso di fare questo lavoro per la 1.6.. finchč non esce la 1.8 e un bel "Mastering Joomla 1.8" non faccio pių nulla...

M.

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Re:Nuovo componente: non lo vedo tra le scelte di menų
« Risposta #4 il: 21 Lug 2011, 18:46:41 »
Citazione
mannaggia a me e quando ho promesso di fare questo lavoro per la 1.6.. finchč non esce la 1.8 e un bel "Mastering Joomla 1.8" non faccio pių nulla...
 
 M.
 
eheh ti capisco.
pensa che io avevo un componente finito, utilizzato da qualche cliente, e mi dico:
"via facciamo un po' di refactoring e facciamo uscire questa versione 2".

poi mi dico:
"dai, giā che ci siamo passiamo alla 1.7, č inutile spendere tempo sul passato"

e ora mi dico:
"argh!!! ma perchč non mi sono visto un film??" -.-

il problema č che non c'č nemmeno un po' di documentazione tecnica.. api.joomla.org continua a far vedere il codice della 1.5.19 (!!!)

sembra di no, ho provato in mille modi ma sembra che l'unico modo che funzioni, almeno a me, č chiamare la classe del controller nell'entry e istanziare la classe nel controller stesso, un po come se fossero "singoli".

mhm non ho capito bene come fai..
io per ora ho risolto cosė, ma tieni conto che č una versione ibrida: era della 1.5 e la devo ancora testare con la 1.7, anche se sembra funzionare

Codice: [Seleziona]
//recupero il controller. se č esplicito uso quello, altrimento lo "deduco" dal layout e dalla vista
$controller = $FBsec->authorize();

require_once (JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php');

$classname    = 'JDomusController'.ucfirst($controller);

$controller = new $classname();
$controller->execute( JRequest::getWord('task'));
$controller->redirect();


il controller che chiamo č una classe che estende JController.
ma mi sa che non ti ho seguito bene, te cosa intendi per controller multipli?
mi puoi fare un esempio concreto?
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

mau_develop

  • Visitatore
Re:Nuovo componente: non lo vedo tra le scelte di menų
« Risposta #5 il: 21 Lug 2011, 19:12:22 »
cioč qs a te funziona? ... anche con il sef? con la 1.7??

... a me ha continuato a non trovare il controller che chiamavo

..adesso ci riguardo vuoi che abbia fatto qualche eresia e non me ne sia accorto? boh strano sono 2 righe in croce...

M.

Ok, funziona anche cosė... in pratica facevo la stessa cosa in un altro modo... c'č un perō... qs come fai a farlo?

http://forum.joomla.org/viewtopic.php?t=148632
č un problema front end nel backend funziona tutto come prima
« Ultima modifica: 21 Lug 2011, 21:36:39 da mau_develop »

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Re:Nuovo componente: non lo vedo tra le scelte di menų
« Risposta #6 il: 22 Lug 2011, 10:16:38 »
purtroppo per questo non ti posso aiutare, perchč la mia estensione non prevedeva SEF URL (č un gestionale, per cui dovrebbe essere sempre "nascosto" ai motori di ricerca).
cmq il problema che hai te č con i link "#"?

io ho risolto brutalmente facendo una str_replace :)

cmq, visto che ormai siamo a parlare "a braccio", te utilizzi le variabili layout e view oppure passi sempre da un task?

mi spiego.
io mi sono trovato bene (almeno fin'ora) a passare sempre da un task, ovvero

Codice: [Seleziona]
function mioTask()
{
    JRequest::setVar('view', 'miaView');
    JRequest::setVar('layout', 'mioLayout');

   parent::display();
}

secondo te č un'impostazione utile oppure che puō causare problemi?
te come fai?
« Ultima modifica: 22 Lug 2011, 10:19:34 da tampe125 »
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

mau_develop

  • Visitatore
Re:Nuovo componente: non lo vedo tra le scelte di menų
« Risposta #7 il: 22 Lug 2011, 13:45:18 »
perchč setti una var se non la cambi?

cioč... hai visto che il config.xml ti permette di aggiungere una voce di menu, quella voce chiama una view e non un controller, quindi se ho pių controller mi basta fare una getRequest della view e valorizzare il controller, la view corretta ci pensa il controller ad associarla e cosė pure il layout : $view = $this->getView('vista', 'html'); e display(tuolayout);

...e siamo nel default, ovvero chiamo il componente ma senza dirgli cosa fare, se devo farli fare qualcosa di particolare o la richiesta viene da un link, allora aggiungo li la task, o deve avvenire ad una determinata richiesta allora uso appunto il router aggiungendo la richiesta della task con il set come fai tu.

M.

 



Web Design Bolzano Kreatif