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 :)

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,...