• Moderatore

    Beta del modulo inviata a Marco.
    Chi vuole partecipare allo sviluppo del modulo è più che benvenuto. :smile5:

    Aggiornamento delle 17:20.
    Questa è la versione v. 0.2.0: http:// goo.gl/ p0Fi41
    Attendo consigli di sicurezza, stile, usabilità e chi più ne ha più ne metta.


  • Moderatore

    Aggiornamento alla release modulo v. 0.3.0 : http:// goo.gl/ 2Zbncc
    Rispetto alla precedete:

    • tabletype con due valori: adesso si può scegliere se stampare la tabella "con i div e il Bootstrap" oppure "con i div senza Bootstrap";
    • tableheader_class: si può specificare una classe da assegnare al div "riga delle intestazioni".
    • layout: permette la selezione di un layout con procedura simile a quella dell'override.

    Sul Bootstrap: è chiaro che si tratta di un plus di Joomla! 3, da usare quando serve perché già inserito nel core (cioè non è una cosa in più da caricare). La scelta più logica è "con Boostrap" ma anche quella "senza" ha il suo perché: chi ha detto che i dati devono essere organizzati in una tabella? In linea di principio potrei desiderare qualcosa di diverso, ad esempio delle schede raggruppate in stile Metro. Per la massima flessibilità serve una struttura in div con opportune classi (qui ne sono state utilizzate in tutto 5, rispettivamente sui div: contenitore, riga di intestazione, cella di intestazione, riga, cella).

    Il codice della vista della v. 0.3.0:

    
    <?php
    /**
     * @package    Joomla.Module
     * @subpackage    mod_pectable
     * @copyright    Copyright (C) 2015 Francesco D'Agostino. All rights reserved.
     * @license    GNU General Public License version 2 or later.
     */
    
    
    // no direct access
    
    
    defined('_JEXEC') or die;
    ?>
    <div class="<?php echo $moduleclass_sfx ?>">
        <?php if ($tabletype == 'div_bootstrap') { ?>
            <div class="row-striped">
                <?php if ($tableheader == '1') { ?>
                    <div class="row-fluid <?php if($tableheaderclass != '') echo $tableheaderclass; ?>">
                        <div class="span2">
                            <?php echo 'Id'; ?>
                        </div>
                        <div class="span3">
                            <?php echo 'Item id'; ?>
                        </div>
                        <div class="span3">
                            <?php echo 'Purchase date'; ?>
                        </div>
                        <div class="span2">
                            <?php echo 'Total amount'; ?>
                        </div>
                        <div class="span2">
                            <?php echo 'Fee amount'; ?>
                        </div>
                    </div>        
                <?php } ?>
                <?php foreach ($list as $item) : ?>
                    <div class="row-fluid">
                        <div class="span2">
                            <?php echo $item->id; ?>
                        </div>
                        <div class="span3">
                            <?php echo $item->itemid; ?>
                        </div>
                        <div class="span3">
                            <?php echo $item->purchaseDate; ?>
                        </div>
                        <div class="span2">
                            <?php echo $item->totalamount; ?>
                        </div>
                        <div class="span2">
                            <?php echo $item->feeamount; ?>
                        </div>
                    </div>
                <?php endforeach; ?>
            </div>
        <?php } elseif ($tabletype == 'div_no_bootstrap') { ?>
            <div class="pec_table">
                <?php if ($tableheader == '1') { ?>
                    <div class="pec_header_row">
                        <div class="pec_header_cell">
                            <?php echo 'Id'; ?>
                        </div>
                        <div class="pec_header_cell">
                            <?php echo 'Item id'; ?>
                        </div>
                        <div class="pec_header_cell">
                            <?php echo 'Purchase date'; ?>
                        </div>
                        <div class="pec_header_cell">
                            <?php echo 'Total amount'; ?>
                        </div>
                        <div class="pec_header_cell">
                            <?php echo 'Fee amount'; ?>
                        </div>
                    </div>       
                <?php } ?>
                <?php foreach ($list as $item) : ?>
                    <div class="pec_row">
                        <div class="pec_cell">
                            <?php echo $item->id; ?>
                        </div>
                        <div class="pec_cell">
                            <?php echo $item->itemid; ?>
                        </div>
                        <div class="pec_cell">
                            <?php echo $item->purchaseDate; ?>
                        </div>
                        <div class="pec_cell">
                            <?php echo $item->totalamount; ?>
                        </div>
                        <div class="pec_cell">
                            <?php echo $item->feeamount; ?>
                        </div>
                    </div>
                <?php endforeach; ?>
            </div>
        <?php } ?>
    </div>
    
    

    Nota 1: se avessi sviluppato questo modulo per un sito in produzione di un cliente non avrei realizzato così la vista, perché più istruzioni php vi inseriamo e più lento sarà il sito. Un'alternativa consiste nel ricorrere ai layout: avrei potuto realizzare un layout di default con Bootstrap (come nella precedente release) e un secondo layout senza Bootstrap. La soluzione dei layout separati va bene per chi smanetta ma non aiuta l'utente inesperto, che vuole installare un'estensione e potere controllare tutto facilmente da back end. Inoltre non esiste l'utente tipo, ma ci sono tanti utenti con esigenze diverse.

    Nota 2: le tabelle si fanno con le table e non con i div, quindi in una prossima release aggiungiamo anche questa possibilità.


  • User

    Ho provato adesso il modulo e funziona perfettamente.
    Complimenti per il modulo 😉


  • Moderatore

    @Nobody: grazie a te per il gioco di squadra. :wink3:

    Chi è interessato ad un sistema pratico e veloce per la vendita di prodotti digitali passi ogni tanto da queste parti.


  • User Newbie

    Come posso fare per provare anche io il suo modulo FDA?
    Ero fuori per lavoro in questa settimana e sono rimasto un pò indietro con la discussione.
    Nel modulo originale sono state apportate le modifiche proposte da Nobody.1990 sulla presenza del Name e su una tabella dedicata ad ogni venditore?


  • Moderatore

    Buondì Gino,
    per scaricare il file zip da installare c'è un link inattivo qui: http:// goo.gl/ 2Zbncc
    Quando lo incolla nel browser deve annullare gli spazi.
    Il name lo aggiungiamo entro qualche giorno. 🙂


  • User Newbie

    Grazie, non avevo visto il link


  • Moderatore

    Aggiornamento alla v. 0.4.0, novità:

    • *Name *(nome del prodotto)
    • Possibilità di selezionare le colonne da mostrare (a scelta tra: itemid, name, puchaseid, purchasedate, totalamount, feeamount)

    Sul "div con Bootstrap": a seconda di quante colonne ci sono cambiano le classi applicate ai div delle celle. Se ad esempio le colonne mostrate sono 4 si hanno span3, mentre se sono 6 si hanno span2.

    Nota. Non sapevo che accorciare un file zip viola i termini d'uso di Google Shortner. :surprised:
    Poiché hanno reso inattivi i link, temporaneamente le versioni del modulo sono scaricabili da qui:
    v. 0.2.0: download.francescodagostino. it/files/joomla/pectable/mod_pectable_v020.zip
    v. 0.3.0: download.francescodagostino. it/files/joomla/pectable/mod_pectable_v030.zip
    v. 0.4.0: download.francescodagostino. it/files/joomla/pectable/mod_pectable_v040.zip


  • User

    Provata adesso la v. 0.4.0 del componente. Perfetta !! :smile5:


  • Moderatore