Passa ai contenuti principali

Post

Visualizzazione dei post da 2013

Esperimenti: angularjs sortablegrid

Ci stiamo aggiornando e stiamo "studiando" AngularJS
Questo è un nostro esperimento.
Abbiamo creato una semplice sortablegrid con il caricamento di dati aggiuntivi a richiesta.
I dati sono hardcoded, ma il codice potrebbe ricomprendere il caricamento da un'indirizzo esterno.

Droidcon Italia

A Febbraio arriva in Italia il Droidcon!

Questo il programma della giornata:

6 febbraio
8:30 – 9:15 Registration
9:15 – 9:50 Welcome
9:50 – 13:00 Conferences
13:00 – 14:00 Lunch
14:00 – 18:00 Conferences / Barcamp

7 febbraio
9:50 – 13:00 Conferences / Workshops
13:00 – 14:00 Lunch
14:00 – 18:00 Conferences / Workshops
18:00 – 18:30 Closing

Questo il link del Droidconhttp://it.droidcon.com/2014/

A breve maggiori informazioni sui talk, hackathon, codelab :)

Film su Google Play

Da oggi anche in Italia potremo noleggiare o acquistare film da Google Play , l’online store di Google per il digital entertainment. 
Non più solo applicazioni, giochi, musica e libri, ma ora anche un mondo di film tratti dai cataloghi dei principali studi cinematografici nazionali e internazionali!

Sviluppo Prestashop - Admin: abbinare i record ad uno shop

per abbinare i record ad uno shop è sufficiente inserire nella configurazione dell'helper del form il campo shop:
  array(
    'type' => 'shop',
    'label' => $this->l('Shops abbinati'),
      ),
in questo modo l'AdminController di Prestashop permette la gestione dell'abbinamento dello shop in quanto prestashop non riconosce a priori l'abbinamento dello shop dalla selezione nell'header


Develop Prestashop Module - puntata 2 creazione di un modulo prestashop

abbiamo sviluppato la base del moduloPrestashop ma in se ha senso se mostra qualcosa.
riprendiamo il filo dal precedete post
cosa vogliamo fare con il modulo? bhè vogliamo mostrare un classico hello world! nooo.. mostreremo un iframe con un video di youtube

Develop Prestashop Module - puntata 1 creazione di un modulo prestashop

la creazione o lo sviluppo di un moduloPrestashop funziona sia per il front-end che il back-end del sistema
la struttura di un modulo è fissa che si compone con una serie di step:

file di configurazionefile di installazionefiles controllers per l'amministrazionefiles controllers per il frontendfiles delle view creazione dell'infrastruttura base del modulo per Frontend all'interno della cartella modules di prestashop creare una cartella  esempio     <root>          |---modules                    |-----miomodulo
naturalmente il nome del modulo lo potete personalizzare all'interno della cartella miomodulo creare i seguenti file config.xmlindex.phpmiomodulo.php   <-- inserite il vostro nome modulo al posto di mio modulo index.php il codice di index php, file che dovrà essere inserito in ogni cartella: <?php /* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LI…

$2000 con il Google Cloud Platform Starter Pack

Iniziare a sviluppare con Google App Engine non richiede nessuna carta di credito. Java,PythonGo oppure PHP: basta creare e testare l'applicazione in locale, farne il deploy e la vostra webapp o il vostro backend è immediatamente raggiungibile da tutto il mondo, senza nessun costo. Google, infatti, mette a disposizione delle soglie di utilizzo sotto le quali il servizio rimane gratuito.

Ma se gli utenti iniziano a crescere e si supera questa soglia? Nessun problema: grazie alGoogle Cloud Platform Starter Pack ci sono a disposizione $1000 di credito da usare per progetto realizzati con Google App Engine.

In aggiunta a questi crediti, nel Pack sono compresi altri $1000 da usare con Google Compute Engine, per creare macchine virtuali basate su Linux e ospitate nell'infrastruttura di Google.

Per ottenere il Google Cloud Platform Starter Pack basta compilare il form alla pagina cloud.google.com/resources/starterpack, usando il codice alm-in. Il pack ha validità sei mesi, ma potete r…

la migliore home di un e-commerce

la principale caratteristica della home page è che può essere assimilata alla vetrina di un negozio concreto
come l'obiettivo di una vetrina di un negozio è quello di attirare l'attenzione di potenziali clienti per spingerli ad entrare nel negozio, così la home page di un e-commerce deve spingere i visitatori a esplorare il sito
però dobbiamo anche sottolineare una differenza: se una vetrina di un negozio è sempre il punto di contatto con potenziali clienti, in un e-commerce non sempre la prima pagina è il punto di ingresso dell'e-commerce perché un motore di ricerca restituisce di solito le pagine del prodotto e non l'home page dell'e-commerce come abbiamo detto la vetrina di un negozio e disegnata per attirare l'attenzione di clienti potenziali che passano davanti, nell'e-commerce invece i clienti hanno effettuato prima un'azione per visitare il sito così come possiamo creare differenti landing page per le campagne pubblicitarie che realizziamo, così p…

chromeapp - interazione con il browser 2

ora implementiamo la nostra estensione come descritto nel precedente post
l'utente effettua click sull'estensione nella nostra applicazione non cambia nulla l'utente effettua un click sul pulsante screenshot nel file popup.html aggiungiamo  <!doctype html> <html>
<head>     <title>Ciao ragazzi!</title>     <script src="lib/jquery.min.js"></script>     <script src="lib/jQuery-Storage-API/jquery.storageapi.min.js"></script>     <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> </head>
<body style="padding: 30px">     <div class="container">         <div class="row">             <div class="span4 offset2 well">                 <h1>hello world!</h1>                 <button id="capture">capture</button>             </div>         </div>  …

chromeapp - interazione con il browser - 1

ora che sappiamo come creare una semplice applicazione su chrome, possiamo introdurre l'interazione con chrome tramite le sue api
in questo capitolo creeremo una semplice estensione chrome per effettuare lo screenshot di una pagina web
api tutte le api di chrome iniziano con... chrome.* utilizzeremo: chrome.tabschrome.extension chrome.tab con chrome.tab.* possiamo gestire una serie di azioni ed eventi dei tab di chrome: creare, aggiornare etc.. con chrome.extension.* avremo accesso ad alcune informazioni e file dell'estensione che abiamo creato flusso il flusso di funzionamento è semplice: l'utente effettua un click sull'estensionel'utente effettua un click sul pulsante screenshotchrome effettua l'immagine del tab attivochrome crea un nuovo tab con l'immagine creata semplice no? :P

Pinterest: visual marketing per il commercio elettronico

Mentre Twitter e Facebook fanno concorrenza per offrire dei servizi ai consumatori, Pinterest guadagna strada con servizi orientati all'e-commerce.
Pinterest Pinterest offre dei servizi di alta qualità ed eccellenti per attirare l'attenzione verso i tuoi prodotti e il tuo sito Web . All'inizio comunque questo nuovo social network lascia perplessi e confusi anche se è uno strumento facile da utilizzare ed esplorare. Immagina di essere di fronte ad un muro pieno di pannelli di sughero. Immagina di organizzare ogni pannello in categoria di attaccare in questo pannello immagini che ti interessano legate alla categoria.
Questo è Pinterest.
E ora analizziamolo e scomponiamolo nei suoi elementi: muri, PINS, gusti, commenti e follows.
Muri Come gestore di e-commerce pensa ai muri come se fossero differenti categorie del tuo e-commerce. Se vendi vestiti e accessori puoi creare muri per camice per uomini, vestiti da donna, scarpe per bambini etc. Però si può fare anche un passo ulter…

chrome app - background.html

le pagine background.html sono script che vengono eseguiti in background. i vantaggi delle pagine  background.html è che sono in grado di comunicare con ogni scheda e ogni estensione nel tuo browser non importa quante schede o finestre sono aperte, queste pagine possono rilevarne facilmente i cambiamenti in corso inoltre queste pagine possono comunicare facilmente con il browser e vari script contengono anche il comportamento dell'estensione
<html>    <script>      console.log ("Ciao Mondo!");    <script> </ html>
un file background.html non è altro che codice Javascript queste pagine sono sempre aperte, sono sempre in esecuzione in modalità nascosta, in background, ciò significa che al momento dell'avvio di Chrome, le pagine di sfondo vengono caricate aggiungiamo la pagina di background aggiungiamo ora al nostro progetto la pagina background.html e inseriamo la logica dell'applicazione pagina opzioni nella pagina opzioni possiamo estrarre le …

chrome app - applicazione delle opzioni

abbiamo creato l'estensione di chrome come pupup e abbiamo creato la pagina delle opzioni di configurazione.
ora applichiamo la configurazione alla popup.
flusso il flusso è semplice:  l'utente fa click sull'estensionel'estensione legge i dati del coloreil colore è applicato al background dell'estensione codice al codice della pop-up aggiungiamo le librerie jQuery e Storage API e Bootstrap <!doctype html> <html>
<head>     <title>Ciao ragazzi!</title>     <script src="lib/jquery.min.js"></script>     <script src="lib/jQuery-Storage-API/jquery.storageapi.min.js"></script>     <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> </head>
<body style="padding: 30px">     <div class="container">         <div class="row">             <div class="span4 offset2 well">              …

chrome app - opzioni estensione

ogni estensione o applicazione per chrome può avere una serie di opzioni che ne personalizza il comportamento
vedremo ora come abilitare la gestione delle opzioni per le applicazioni o estensioni chrome che si creano e come personalizzare le pagine html utilizzando librerie come jQuery e BootStrap
attivazione pagina opzioni la pagina delle opzioni per un'estensione di chrome si attiva impostando il parametro "options_page" nel file manifest.json con il nome della pagina contenente le nostre opzioni: {    .....    "options_page": "options.html"    ..... } salvataggio delle opzioni tutte le opzioni di qualsiasi estensione chrome sono salvate nel localstorage del browser, niente di più semplice applicazione riprendendo il nostro progetto chromeapp aggiungiamo al file manifest.json il parametro sopra definito e creiamo il file options.html
ecco il flusso esemplificativo della pagine opzioni che andremo a creare:

visualizzazione di un campo selezione con de…

applicazioni per chrome - introduzione

piatto del giorno: applicazioni per chrome google chrome è un browser estremamente versatile, aperto e estendibile le funzionalità di google chrome come firefox possono essere estese con plugin o applicazioni  nello sviluppo di una web app di tipo business o un'app per android sarebbe bello offrire un'esperienza utente completa offrendo anche applicazioni ed estensioni su google chrome che sta diventando sempre più una piattaforma desktop completa, pensando poi a chrome os.... così ecco dei brevi post per la creazioni di applicazioni ed estensioni su chrome creazione di YAHWA (yet another hello world application) ingredienti base:file htmlfile manifest.jsonfile icona premessa: tipi di estensione ci sono 4 tipi di estensioni possibili:
browser actions: aggiungono un'icona a destra della barra indirizzi (ad.es. per mostrare una popup)page actions: mostrano un'icona all'interno della barra indirizzidesktop notifications: mostrano notifiche omnibox: aggiungono funziona…

L'importanza delle parole chiave nell'ecommerce

La determinazione delle parole chiave è una delle prime aree che si deve tener presente nell'implementare un e-commerce.Troppo spesso si sottovaluta questo aspetto molto importante nell'ecommerce.Lo sforzo nel tempo per le conversioni saranno veramente altio e il costo di conversione aumenterà a dismisura.Spesso nella determinazione delle parole chiave ci si concentra sui termini legati ai prodotti utilizzando ricerche generiche.  per esempio per un negozio di animali si utilizzano termini come: animali, cane , gatto, accessori per animali, accessori per gattoEssere posizionati su queste parole chiave è importante ma non vengono presi in considerazione altri elementi importanti.Questeparole hanno un buon livello di ricerca?
Perché alcune volte pensiamo che la gente cerca le cose in un modo e in realtà utilizzano parole di ricerca completamente diverse da quello che pensiamo. Inoltre anche se si utilizzano queste parole chiave, saremo capaci di raggiungere solo una piccola perc…

Magento: There has been an error processing your request....

Come fare a risolvere questo errore e i suoi simili in Magento?
There has been an error processing your request Exception printing is disabled by default for security reasons. Error log record number: 1120229385 Semplice....... Nella cartella var/report dove è installato Magento c'è un file denominato 1120229385 che riporta il dettaglio dell'errore.

Debugging sql in Magento

Durante lo sviluppo è necessario capire quale sql sta facendo Magento. Per effettuare il debugging sql è possibile utilizzare un semplice metodo che l'oggetto Varien_Data_Collection_DB mette a disposizione$collection = Mage::getModel('mdg_giftregistry/entity')->getCollection()->addFieldToFilter('customer_id', $customer->getId());$collection->getSelectSql(true);risultato:   SELECT `main_table`.* FROM `mdg_giftregistry_entity` AS `main_table` WHERE (customer_id = '1')Semplice no?

Sql condizionale in Magento

Per parametrizzare la query o la collection in fase di estrazione dati, ossia aggiungere null - diverso da - >= etc.., è sufficiente utilizzare addFieldToFilter addAttributeToFilter.Esempio:$collection= Mage::getModel('mdg_giftregistry/entity')
                ->getCollection()
                ->addFieldToFilter('customer_id', $customer->getId());In questo caso si richiede di effettuare un filtro con il campo customer_id ugale all'id del customer.Mage::getModel('mdg_giftregistry/entity')->getCollection() restituisce un oggetto Varien_Data_Collection_DB dove il metodo addFieldToFIlter è così definito: /**
     * Add field filter to collection
     *
     * @see self::_getConditionSql for $condition
     *
     * @param   string|array $field
     * @param   null|string|array $condition
     *
     * @return  Mage_Eav_Model_Entity_Collection_Abstract
     */
    public function addFieldToFilter($field, $condition = null)Il parametro $condition accetta un …

SQL Setup Magento - Upgrade table

Come fare l'alter table di colonna?
Io uso questo metodo.
$installer = $this;
$installer->startSetup();
/**
tabella mdg_giftregistry_item
 */
$tableName = $installer->getTable('mdg_giftregistry/item');
/**
 * @var $table Varien_Db_Ddl_Table
 */
$table = $installer->getConnection()->newTable($tableName);
$installer->getConnection()->addColumn($tableName, 'customer_id',
    array(
        'type'=>Varien_Db_Ddl_Table::TYPE_INTEGER,
        'unsigned' => true,
        'nullable' => false,
        'primary' => true,
        'comment'=>'customer_id',
        'primary'=>false
    ));
$installer->endSetup();

Magento e la gestione delle variabili di sessione

Le sessioni di Magento sono di tre tipi: Core Session:- Mage::getSingleton(‘core/session’)
Customer Session:- Mage::getSingleton(‘customer/session’)
Admin Session:- Mage::getSingleton(‘adminhtml/session’) Supponiamo di voler settare la variabile di sessione: testing_magento. Si  imposta direttamente con il metodo anche se non esiste: Mage::getSingleton(‘core/session’)->setTestingMagento(‘hello’);   Recuperare nello stesso modo: $test = Mage::getSingleton(‘core/session’)->getTestingMagento(); Ed eliminare Mage::getSingleton(‘core/session’)->setTestingMagento(); Eventualmente è possibile impostare, recuperare, testate e cancellare la variabile di sessione con: setData('<nome variabile>', <valore>)getData('<nome variabile>', <valore>)hasData('<nome variabile>') --> booleanunsetData('<nome variabile>')unsetOldData('<nome variabile>')  <-- mai usato

VirtualBox Headless, per server senza interfaccia grafica | Server, System | HTML.it

In questi giorni ho preparato una server virtuale in locale per lo sviluppo di applicazioni per Magento.
Avviare ogni volta con virtuabox il server e mantenere la finestra del server attiva non mi piace anche perchè nel caso in cui ci chiudessi per sbaglio la finestra il server cadrebbe rovinosamente.
Così cercando su internet ho trovato questa semplice guida per la gestione delle macchine virtuali da linea di comando.
VirtualBox Headless, per server senza interfaccia grafica 

Aprire un negozio eBay

Marketplace eBay: un'ottima opportunità per vendere on line: visibilità, vsitatori, strumenti integrati di vendita.
Sembra facile ma c'è un costo da sostenere. Per un nostro cliente abbiamo analizzato le informazioni più importanti per aprire un negozio eBay e abbiamo così creato queste "informazioni preliminari di vendita su eBay". 
E se volete una mano o avete qualche rettifica da fare, ben volentieri, contattateci.
Informazioni apertura negozio eBay E' necessario creare un account di tipo venditore La vendita su eBay si basa su inserzioni che si possono aprire e si chiudono dopo 30 giorni o si possono chiudere eventualmente anche anticipatamente. Le inserzioni possono essere rinnovate Le inserzioni possono essere ad asta o compralo subito. Possono essere entrambe attive nella medesima inserzione. Un account di tipo vednitore può esistere in eBay con o senza negozio eBay e se con negozio questo può essere Base, Premium, Premium internazionale. Negozio eBay Un n…