Back to top

Autore Topic: Cambiare la posizione del modulo da Modules Manager senza dover aprire il modulo  (Letto 6664 volte)

Offline ALBLAN

  • Esploratore
  • **
  • Post: 149
    • Mostra profilo
Salve a tutti sto cercando di aggiungere una funzionalità al componente administrator com_modules che permetta tramite un menù a tendina di selezionare una nuova posizione del modulo dalla lista dei moduli in modules manager. Ho aggiunto il menù a tendina che visualizza tutte le posizioni ma , premettendo che mi sono accostato da poco allo sviluppo di moduli, vorrei trovare il modo di aggiornare la posizione ddel modulo dopo aver selezionato la nuova posizione dalmenùa tendina. non riesco a trovare il modulo php dove avviene la submit del form che visualizza la lista dei moduli. Ho cercato di trovare, non riuscendo a  debuggare con netbeans il componente com_modules , il modulo php che viene richiamato ad esempio quando si cambia lo stato da unpublished a published di un modulo ma invano con ildebug credo l'avrei scoperto abbastanza rapidamente.
Suggerimenti? posto la parte di codice aggiunta che al momento visualizza  il menù a tendina delle posizioni disponibili del template per il modulo. Grazie in anticipo a chi la cosa potrebbe interessare pensando che sia una funzionalità utile per il back end di joomla.
Ecco il codice
<td class="left">
                    <?php if ($item->position) : ?>
                        <?php echo $item->position; ?>
                                                <select name="filter_position_change" class="inputbox" onchange="this.form.submit()">
                                                <option value=""><?php echo JText::_('COM_MODULES_OPTION_SELECT_POSITION');?></option>
                                                <?php echo JHtml::_('select.options', ModulesHelper::getPositions($this->state->get('filter.client_id')), 'value', 'text', $this->state->get('filter.position'));?>
            </select>
                    <?php else : ?>
                        <?php echo ':: '.JText::_('JNONE').' ::'; ?>
                    <?php endif; ?>
                </td>
Inserito in com_modules/views/modules/tmpl/default.php

Buon Natale a tutti...e un ringraziamentpo particolare al gruppo  Joomla!!!

mau_develop

  • Visitatore
hai provato ad aggiungere semplicemente la posizione all'xml del tuo template e a richiamarla all'interno del tag code dell'index del tuo template?

Se vuoi sviluppare per joomla devi fare riferimento a developers.joomla

Offline ALBLAN

  • Esploratore
  • **
  • Post: 149
    • Mostra profilo
Salve
ho creato sull'evento onchange della select del primo post una funzione javascript che richiama un file php setPosition.php che esegue l'aggiornamento della posizione del modulo corrispondente nel module manager.
Chiedo se esiste un modo per richiamare  la classe  ModulesHelper::setPosition(position,idModule) in modules.php della cartella helpers . Naturalmente aggiungendo il metodo setPosition che aggiorna la tabella module nel db.
Grazie
Cordialmente Alberto
« Ultima modifica: 26 Dic 2013, 16:33:01 da ALBLAN »

Offline ALBLAN

  • Esploratore
  • **
  • Post: 149
    • Mostra profilo
Allego il file del componente com_modules administrator modificato, spero che qualcuno possa dargli un'occhiata per migliorarlo...e nel caso di buona volontà suggerirmi come !!!!

Le modifiche sono nel file views/modules/tmpl/default.php  (select .. option colonna position)

aggiunta del file in com_modules setPosition.php (richiamato da javascript in default.php sull'evento onchange della select nella colonna position)

funzione setPositions in helpers/modules.php (eventualmente da richiamare con codice pulito...)

Grazie
Alberto

[allegato eliminato automaticamente dopo un anno]

mau_develop

  • Visitatore
...ma hai letto quello che ho scritto? ...non è la risposta giusta?

Offline ALBLAN

  • Esploratore
  • **
  • Post: 149
    • Mostra profilo
si ho letto ma non credo otterrei quello che invece vorrei, ti lascio un immagine del module manager dopo la mia modifica c'è una select per poter cambiare la posizione di un modulo senza aprire il singolo modulo ma dall'elenco principale dei moduli
Grazie
Ciao
Alberto


[allegato eliminato automaticamente dopo un anno]

mau_develop

  • Visitatore
 cambiare la posizione di un modulo senza aprire il singolo modulo ma dall'elenco principale dei moduli
------------------------------------------------------
ok, così mi è più chiaro.
Modificare il core di J non è mai una buona scelta perchè perdi le modifiche al primo aggiornamento.
Se vuoi farlo ugualmente basta considerarlo come un normalissimo componente dove non c'è un file che fa qualcosa ma tutti fanno la loro parte nella costruzione e visualizzazione dell'oggetto.
Credo che potresti seguire l'esempio del publish / unpublish
« Ultima modifica: 28 Dic 2013, 19:36:37 da M_W_C »

Offline ALBLAN

  • Esploratore
  • **
  • Post: 149
    • Mostra profilo
Ciao grazie
Infatti ho provato a vedere debuggando quale metodo venisse chiamato dopo il publish unpublish ma invano...la prima idea fu questa sperodi riuscirci...un passo alla volta...ho scaricatodegli appunto sull'MVC di joomla...lo studio mi aspetta!!!
Grazie Ancora
Ciao
Alberto

 



Web Design Bolzano Kreatif