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;
}

Commenti

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

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 Droidcon   http://it.droidcon.com/2014/ A breve maggiori informazioni sui talk, hackathon, codelab :)

Vue.js inline component

title: Componente Vue.js inline browser tags: vue.js, single file component vue.js Come creare un componente con Vue.js? Come crearlo e come usarlo direttamente nella pagine? Mi trovo in diversi progetti a bisticciare con jquery che ritengo un ottimo tool, ma non supremo. In ogni progetto possono esistere più tecnologie per risolveere problemi diversi. La SPA la preferisco con React o Angular, ma per creare dei componenti ad hoc o uso Polymer o Vue. Senza scomodare l’intero scaffolding di progetto è possibile creare un semplice componente ed usarlo nella pagina del browser senza fare il transpiling. Come iniziare. Preparo la base di folder. Come server uso quello integrato in php. mkdir vuewjs cd vuejs php -S localhost:8080 touch index.html google-chrome index.html Io uso Ubuntu e quelli sopra sono semplici comandi shell che creano un folder vuejs e dentro creano un file html e avviano il server presente in php7; infine apro con chrome la pagina index.hml. Pagina base Ora prep...