Back to top

Autore Topic: parametri nuove componenti  (Letto 2118 volte)

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
parametri nuove componenti
« il: 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
Codice: [Seleziona]
                <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
Codice: [Seleziona]
      $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.

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Re:parametri nuove componenti
« Risposta #1 il: 21 Mar 2011, 11:46:43 »
ti ho spostato nella sezione sviluppo, credo che qui passino utenti più avanzati,  in bocca al lupo.
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:parametri nuove componenti
« Risposta #2 il: 21 Mar 2011, 11:58:09 »
Grazie

"crepi" :D

mau_develop

  • Visitatore
Re:parametri nuove componenti
« Risposta #3 il: 21 Mar 2011, 12:10:00 »
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.

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:parametri nuove componenti
« Risposta #4 il: 21 Mar 2011, 12:17:57 »
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:

Codice: [Seleziona]
$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... :(

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:parametri nuove componenti
« Risposta #5 il: 21 Mar 2011, 12:29:58 »
AIUTO :(

ho preso ad esempio il componente di ricerca standard di joomla 1.6, almeno cerco di capirci qualcosa...

search... default.xml
Codice: [Seleziona]
<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
Codice: [Seleziona]
$app = JFactory::getApplication();
$params = $app->getParams();

search... default.php
Codice: [Seleziona]
...$this->params->get('show_page_heading', 1)...

così ho adattato il mio codice... ma non funge ancora :(

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:parametri nuove componenti
« Risposta #6 il: 21 Mar 2011, 12:39:12 »
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
Codice: [Seleziona]
<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
Codice: [Seleziona]
$app = JFactory::getApplication();
$params = $app->getParams();
$this->assignRef('params', $params);

default.php
Codice: [Seleziona]
$cat=$this->params->get('cat');
ovviamente se avete messo più di un parametro a questo punto è utile tirarli fuori tutti :)

 



Web Design Bolzano Kreatif