Jump to content

[SOLUCIONADO] Donde se crean/asignan las variables SMARTY. p.e. $telnumber


Recommended Posts

Buenas noches.

 

Querría averiguar como conocer donde se crean y posteriomente se asignan los valores a variables SMARTY.

 

Por ejemplo, en la plantilla default-boostrap, en la ruta: /public_html/themes/default-boostrap/modules/blockcontact/nav.tpl

 

Encontramos en la plantilla del navegador en su linea 31 la siguiente variable $telnumber

 

<i class="icon-phone"></i>{l s='Call us now:' mod='blockcontact'} <strong>{$telnumber}</strong>

 

Esta variable, ya tiene el valor asignado cuando llega a esta plantilla, y en algún momento ha sido declarada y su valor asiganado desde la lectura de alguna tabla que contenía el valor del teléfono de la tienda.

Me interesaría conocer como averiguar cuando y donde se produce la creación, la lectura de la tabla necesaria y la posterior asignación del valor para este ejemplo; para después siguiendo el mismo patrón seguro que puedo averiguar lo mismo del resto de variables Smarty que me puedo encontrar.

 

Muchas gracias. :)

Edited by Pixie Cabanyaler (see edit history)
Link to comment
Share on other sites

Esa variable viene del valor recogido en 

Configuration::get('BLOCKCONTACT_TELNUMBER'),

es decir, BLOCKCONTACT_TELNUMBER, en la tabla configuration

 

Gracias Ventura por decirme de que hilo tirar.

 

Explayo la solución.

  • En la bbdd existe una tabla denominada ps+"tu_prefijo"+_configuration.
  • En dicha tabla existen un conjunto de atributos con valores asignados, entre ellos el número de telefono.
  • El atributo que lo contiene es denominado BLOCKCONTACT_TELNUMBER.
  • Para poder acceder a dicho atributo sin necesidad de hacerlo directamente sobre la tabla, PS ofrece una clase Configuration de la cual se pueden instanciar objetos, que a su vez poseen métodos para leer, y escribir sobre los valores de las tuplas.
  • Siguiendo con el ejemplo del teléfono, como el módulo donde estoy trabajando es el /public_html/themes/default-boostrap/modules/blockcontact/, accedo al fichero blockcontact.php, donde existe una función denominada getContent(), donde se lee del parámetro de la URL el valor del teléfono con el método de otro objeto denominado Tools::getvalue y es asignado a la tabla con la instrucción Configuration::updateValue('BLOCKCONTACT_TELNUMBER', Tools::getValue('blockcontact_telnumber')); (línea 68)
  • Siguiendo en el mismo fichero blockcontact.php, existe más abajo otra función denominada hookDisplayRightColumn($params), donde se asigna el valor a la variable, esta vez dentro de un array, telnumber, con la instrucción 'telnumber' => Configuration::get('BLOCKCONTACT_TELNUMBER'), (línea 93)

De este modo, es como se llega a tener valor asignado a la var $telnumber a partir del valor almacenado en una tabla de la bbdd.

 

Si me equivoco en algo, agradecería correcciones, pero por lo que he visto así se "cuece el tema".

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...