Joomla.it Forum
Non solo Joomla... => Sviluppo => : jonxduo 21 Mar 2011, 11:44:59
-
ciao a tutti, sto rieditando un vecchio componente che avevo scritto per 1.5, è davvero una sciocchezza, ma volevo adattarlo a 1.6, anche per fare un pò di pratica, ho solo un problema... non riesco a richiamare i parametri che do al menu sul tmpl del mio componente, mi spiego meglio:
default.xml
<fields id="params" name="params" type="fields" label="params">
<fieldset name="impostazioni" label="impostazioni">
<field name="cat" type="text" description="categoria da visualizzare" label="Categoria" default=""></field>
</fieldset>
</fields>
default.php
$cat=$menuParams->get('cat');
mi viene stampato un errore:
Fatal error: Call to a member function get() on a non-object in C:\xampp\htdocs\project\feudo\components\com_xmarth\views\elenco\tmpl\default.php on line 8
come se il valore non esistesse...
ho provato anche solo con $params, ma probabilmente la sintassi non è corretta, qualcuno di voi sa indicarmi quella corretta?
la sto cercando tra la documentazione ufficiale, ma non la trovo, quella che ho postato sopra l'ho dedotta leggendo il codice da un'altro componente.
-
ti ho spostato nella sezione sviluppo, credo che qui passino utenti più avanzati, in bocca al lupo.
-
Grazie
"crepi" :D
-
ma volevo adattarlo a 1.6, anche per fare un pò di pratica
-----------------------------------------------------------------------------
stai guardando la documentazione di sviluppo per le nuove classi e metodi su joomla docs ?
M.
-
sì, ho fatto qualche progresso, ho capito che devo richiamare prima tutti i parametri nell'array params nel view.php, ma non è ancora chiaro come, ho provato sia:
$this->params = JFactory::getApplication()->getParams();
$this->params = JFactory::getApplication()->getMenu();
ps. il secondo tentativo è stato disperato...
comunque ora il varore c'è quindi non mi stampa l'errore di prima, ma comunque è vuoto... :(
-
AIUTO :(
ho preso ad esempio il componente di ricerca standard di joomla 1.6, almeno cerco di capirci qualcosa...
search... default.xml
<fields name="params">
<!-- Basic options. -->
<fieldset name="basic" label="COM_MENUS_BASIC_FIELDSET_LABEL">
<field name="search_areas" type="list" description="COM_SEARCH_FIELD_SEARCH_AREAS_DESC" label="COM_SEARCH_FIELD_SEARCH_AREAS_LABEL">
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
ecc...
search... view.php
$app = JFactory::getApplication();
$params = $app->getParams();
search... default.php
...$this->params->get('show_page_heading', 1)...
così ho adattato il mio codice... ma non funge ancora :(
-
ok ok ho risolto :) l'ultimo codice era corretto, solo che riscrivendolo per sbaglio avevo cambiato il nome all'opzione, ;D
comunque per i posteri scrivo la procedura corretta:
default.xml
<fields id="params" name="params" type="fields" label="params">
<fieldset name="basic" label="Opzioni di Base">
<field name="cat" type="text" description="categoria da visualizzare" label="Categoria" default="">
</field>
</fieldset>
</fields>
ovviamente qui potete mettere tutte le opzioni che volete...
view.html.php
$app = JFactory::getApplication();
$params = $app->getParams();
$this->assignRef('params', $params);
default.php
$cat=$this->params->get('cat');
ovviamente se avete messo più di un parametro a questo punto è utile tirarli fuori tutti :)