Joomla.it Forum

Componenti per Joomla! => Gestione e-commerce => : pixxelite 09 Sep 2012, 11:46:48

: spostare campi personalizzati
: pixxelite 09 Sep 2012, 11:46:48
Ciao a tutti, avrei bisogno di spostare i campi personalizzati del mio prodotto in alto sotto il div del produttore (il campo personalizzato è il campo "Condizione" in basso dopo la descrizione del prodotto[size=78%]...[/size]



http://www.sergiopc.altervista.org/index.php/mercatino-offerte/notebook-netbook/acer-travelmate-5742-detail (http://www.sergiopc.altervista.org/index.php/mercatino-offerte/notebook-netbook/acer-travelmate-5742-detail)


ho cercato e cercato al'interno dei php dove viene menzionato il div dei campi personalizzati ma l'ho trovato solo sul file "default_pdf.php" ma anche se prendo il blocco che crea il div dei campi personalizzati e lo porto sotto il div del produttore non succede nulla (probabilmente, come suggerisce il nome del php agisce solo sulla generazione della pagina pdf e non html del sito)...


...qualche idea?? E' davvero brutto avere i campi personalizzati in basso dopo la descrizione
: Re:spostare campi personalizzati
: pixxelite 10 Sep 2012, 18:55:44
visto che sembra sia l'unico al mondo  :o  a voler spostare i campi personalizzati dal basso verso l'alto...
...mi auto rispondo, magari a q1 viene la genialata...


...in pratica ho visto che ad un certo punto del file piu o meno alla riga 265 (piu o meno perchè ho fatto delle modifiche lievi al codice)


 "/components/com_virtuemart/views/productdetails/tmpl/default.php" c'è questa porzione di testo:


if (!empty($this->product->customfieldsSorted['normal'])) {
   $this->position = 'normal';
   echo $this->loadTemplate('customfields');
    } // Product custom_fields END

ho provato a spostare questa porzione vicino al campo del produttore (riga 244)

ma non funziona...allora ho provato ad espandere la porzione da spostare
<?php
    } // Product Description END


    if (!empty($this->product->customfieldsSorted['normal'])) {
   $this->position = 'normal';
   echo $this->loadTemplate('customfields');
    } // Product custom_fields END
    // Product Packaging
    $product_packaging = '';
    if ($this->product->packaging || $this->product->box) {
   ?>
        <div class="product-packaging">


       <?php
       if ($this->product->packaging) {
      $product_packaging .= JText::_('COM_VIRTUEMART_PRODUCT_PACKAGING1') . $this->product->packaging;
      if ($this->product->box)
          $product_packaging .= '
';
       }
       if ($this->product->box)
      $product_packaging .= JText::_('COM_VIRTUEMART_PRODUCT_PACKAGING2') . $this->product->box;
       echo str_replace("{unit}", $this->product->product_unit ? $this->product->product_unit : JText::_('COM_VIRTUEMART_PRODUCT_FORM_UNIT_DEFAUL T'), $product_packaging);
       ?>
        <>
    <?php } // Product Packaging END
    ?>


ma adirittura mi vengono fuori errori nella pagina php quando la deve caricare...


...davvero non so' dove sbattere la testa....




....ho visto anche che c'e un file "/components/com_virtuemart/views/productdetails/tmpl/default_customfields.php" ma non riesco a capire se devo modificare quello (penso di no)


...q1 che ha messo mano al php c'e?


...ho bisogno di te!!



: Re:spostare campi personalizzati
: pixxelite 11 Sep 2012, 15:00:30

GRAAAAAAAANDEEEEEE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Ci sono riuscito!!!!!!!!!....scusate lo sfogo ma è una settimana e mezzo che ci sto provando e riprovando, pensando e ripensando ....e finalmente ....ci sono riuscito....


...spiego il metodo...(ovviamente per metterlo dove ti pare e piace all'interno della pagina...


basta modificare il default.php (/components/com_virtuemart/views/productdetails/tmpl/default.php) ed aggiungere il seguente codice


<?php if (!empty($this->product->customfieldsSorted['mia_posizione'])) {
       $this->position='mia-posizione';
       echo $this->loadTemplate('customfields');
    }
    ?>






dove ci pare e piace (per esempio io l'ho messo dopo il manufacter del prodotto) e cambiare mia_posizione nel nome che più ci aggrada.


Fatto ciò e salvato il default.php basta digitare la posizione (nell'esempio mia_posizione)  nel campo


"Posizione layout"


al nostro campo personalizzato....e....magicamente (mica tanto)...tadaaa!!!....il campo personalizzato si piazzerà esattamente dove vogliamo noi!!!


Ragazzi son così contento che, boh!!, mi vien da piangere!!
: Re:spostare campi personalizzati
: fottutoblues 07 Dec 2013, 18:14:43
Mitico! Funziona da dio.
Grazie mille.
Mi sento meno solo nel vedere qualcun'altro che se le dice e se che se le fa da solo.
Davvero un grande aiuto ed un ottimo lavoro. Questo metodo apre interessantissimi scenari sulla personalizzazione del layout.


vtt
: Re:spostare campi personalizzati
: tomtomeight 07 Dec 2013, 18:33:06
Peccato che forse dopo qualche aggiornamento del componente poi possono perdersi tutte le modifiche. Serve un override.
: Re:spostare campi personalizzati
: fottutoblues 10 Dec 2013, 16:58:22
Giusto, a questo problema mi ci sono già scontrato con versioni precedenti. Ho trovato un'ottima guida su VM Italia che penso possa essere utile a chi legge applicando queste personalizzazioni.
Metto qui anche se probabilmente l'argomento è già stato trattato nel forum e non ho controllato.

http://www.vmitalia.net/override-template-virtuemart-2.html (http://www.vmitalia.net/override-template-virtuemart-2.html)
: Re:spostare campi personalizzati
: mmleoni 12 Dec 2013, 18:39:20
da joomla 1.5 in poi questo discorso è stato trattato innumerevoli volte in questo forum, nel wiki del sito e negli articoli della comunità.

solo questo è di gennaio 2009:

http://www.joomla.it/articoli-della-community/788-override-del-template-come-personalizzare-le-pagine-di-joomla.html

Questo metodo apre interessantissimi scenari sulla personalizzazione del layout.

non ti offendere, ma finora hai vissuto sulla luna?  ;D ;D

ciao,
marco
: Re:spostare campi personalizzati
: fottutoblues 13 Dec 2013, 10:40:25
Ma l'ho fatto!!!! :)
Fu il mio primo override, quante soddisfazioni. Il modulo contatti con la mappa di google, quanti ricordi...