Passa ai contenuti principali

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>') --> boolean
  • unsetData('<nome variabile>')
  • unsetOldData('<nome variabile>')  <-- mai usato

Come fa Magento a determinare il nome del metodo set e get da 'testing_magento', ossia da Mage::getSingleton(‘core/session’)->setData( 'testing_magento',‘hello’)  a  Mage::getSingleton(‘core/session’)->setTestingMagento(‘hello’)?
File: Varien/Object.php
1° step chiamata al magic method __call(.....)
2° step chiamata a _underscore
/**
* Converts field names for setters and geters
*
* $this->setMyField($value) === $this->setData('my_field', $value)
* Uses cache to eliminate unneccessary preg_replace
*
* @param string $name
* @return string
*/
protected function _underscore($name)
{

  if (isset(self::$_underscoreCache[$name])) {
     return self::$_underscoreCache[$name];
  }

  $result = strtolower(preg_replace('/(.)([A-Z])/', "$1_$2", $name));

  self::$_underscoreCache[$name] = $result;
  return $result;
}

Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Creare un ambiente di sviluppo PHP SYMFONY MYSQL DOCKER

Preferisco Docker a Vagrant, più leggero. Ognuno naturalmente ha le sue preferenze.
Docker lo trovo più facile e veloce da configurare.
Non conosci Docker, vai sul sito e scoprirai un tool fantastico per "virtualizzare" le macchine, anche se non è il termine corretto.
Docker crea un contenitore all'interno del tu S.O. senza però virtualizzare l'infrastruttura hardware.
A me piace sviluppare con Symfony: W Symfony2!

[update: ho trovato questa serie di post nuovi per lo sviluppo con symfony su docker
https://blog.vandenbrand.org/2016/02/03/developing-symfony-applications-with-docker-series-part-i-getting-started/
]

Setup Google Tag Manager con PrestaShop per l'e-commerce avanzato

Google Tag Manage e E-commerce Avanzato all’interno della documentazione ufficiale è descritto sia il processo che il codice di implementazione per il monitoraggio avanzato dell’e-commerce
In breve il codice da inserire deve essere un array tipo dataLayer che contiene una serie di informazioni per il monitoraggio di:
impressioni di prodotto e di categoriadettaglio di prodottocheckoutacquisto Sono presenti anche i meccanismi per il monitoraggio delle promozioni, per l’annullamento ordine e per l’aggiunta dinamica del prodotto in carrello
Nel caso del modulo BwAnalytics sono monitorati i primi 4.
Google Tag Manager L’attivazione dell’ecommerce avanzato si effettua sulla vista di Google Analytics e si impostano i nomi degli step del processo di checout mappati all’interno del codice
Limpostazione di Google Tag Manager per l’e-commerce avanzato richiede la greazione di 3 tag:
impressioni e dattagli categoria e prodottocheckout acquisto pagine prestashop coinvolte Su prestashop le pagine di…