Pixie Cabanyaler Posted March 15, 2017 Share Posted March 15, 2017 (edited) 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 March 16, 2017 by Pixie Cabanyaler (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted March 15, 2017 Share Posted March 15, 2017 Esa variable viene del valor recogido en Configuration::get('BLOCKCONTACT_TELNUMBER'), es decir, BLOCKCONTACT_TELNUMBER, en la tabla configuration Link to comment Share on other sites More sharing options...
Pixie Cabanyaler Posted March 16, 2017 Author Share Posted March 16, 2017 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 More sharing options...
Recommended Posts