precios - Cómo obtener la url del tema actual en el archivo.tpl de prestashop y
prestashop vs shopify (4)
Necesito obtener la ruta de la imagen que se encuentra en www.mysite.com/themes/mytheme/img/image.png
=================================================
He encontrado la respuesta aquí: http://prestalab.ru/wiki/peremennye-v-shablonax .
La ruta a la imagen en mi tema será: { $ tpl_dir } img / myimage.png
A veces es suficiente mirar el código, ver todas las variables básicas asignadas:
// FrontController Class
$this->context->smarty->assign(array(
// Usefull for layout.tpl
''mobile_device'' => $this->context->getMobileDevice(),
''link'' => $link,
''cart'' => $cart,
''currency'' => $currency,
''cookie'' => $this->context->cookie,
''page_name'' => $page_name,
''hide_left_column'' => !$this->display_column_left,
''hide_right_column'' => !$this->display_column_right,
''base_dir'' => _PS_BASE_URL_.__PS_BASE_URI__,
''base_dir_ssl'' => $protocol_link.Tools::getShopDomainSsl().__PS_BASE_URI__,
''force_ssl'' => Configuration::get(''PS_SSL_ENABLED'') && Configuration::get(''PS_SSL_ENABLED_EVERYWHERE''),
''content_dir'' => $protocol_content.Tools::getHttpHost().__PS_BASE_URI__,
''base_uri'' => $protocol_content.Tools::getHttpHost().__PS_BASE_URI__.(!Configuration::get(''PS_REWRITING_SETTINGS'') ? ''index.php'' : ''''),
''tpl_dir'' => _PS_THEME_DIR_,
''tpl_uri'' => _THEME_DIR_,
''modules_dir'' => _MODULE_DIR_,
''mail_dir'' => _MAIL_DIR_,
''lang_iso'' => $this->context->language->iso_code,
''lang_id'' => (int)$this->context->language->id,
''language_code'' => $this->context->language->language_code ? $this->context->language->language_code : $this->context->language->iso_code,
''come_from'' => Tools::getHttpHost(true, true).Tools::htmlentitiesUTF8(str_replace(array(''/''', ''//'), '''', urldecode($_SERVER[''REQUEST_URI'']))),
''cart_qties'' => (int)$cart->nbProducts(),
''currencies'' => Currency::getCurrencies(),
''languages'' => $languages,
''meta_language'' => implode('','', $meta_language),
''priceDisplay'' => Product::getTaxCalculationMethod((int)$this->context->cookie->id_customer),
''is_logged'' => (bool)$this->context->customer->isLogged(),
''is_guest'' => (bool)$this->context->customer->isGuest(),
''add_prod_display'' => (int)Configuration::get(''PS_ATTRIBUTE_CATEGORY_DISPLAY''),
''shop_name'' => Configuration::get(''PS_SHOP_NAME''),
''roundMode'' => (int)Configuration::get(''PS_PRICE_ROUND_MODE''),
''use_taxes'' => (int)Configuration::get(''PS_TAX''),
''show_taxes'' => (int)(Configuration::get(''PS_TAX_DISPLAY'') == 1 && (int)Configuration::get(''PS_TAX'')),
''display_tax_label'' => (bool)$display_tax_label,
''vat_management'' => (int)Configuration::get(''VATNUMBER_MANAGEMENT''),
''opc'' => (bool)Configuration::get(''PS_ORDER_PROCESS_TYPE''),
''PS_CATALOG_MODE'' => (bool)Configuration::get(''PS_CATALOG_MODE'') || (Group::isFeatureActive() && !(bool)Group::getCurrent()->show_prices),
''b2b_enable'' => (bool)Configuration::get(''PS_B2B_ENABLE''),
''request'' => $link->getPaginationLink(false, false, false, true),
''PS_STOCK_MANAGEMENT'' => Configuration::get(''PS_STOCK_MANAGEMENT''),
''quick_view'' => (bool)Configuration::get(''PS_QUICK_VIEW''),
''shop_phone'' => Configuration::get(''PS_SHOP_PHONE''),
''compared_products'' => is_array($compared_products) ? $compared_products : array(),
''comparator_max_item'' => (int)Configuration::get(''PS_COMPARATOR_MAX_ITEM''),
''currencyRate'' => (float)$currency->getConversationRate(),
''currencySign'' => $currency->sign,
''currencyFormat'' => $currency->format,
''currencyBlank'' => $currency->blank,
));
En la PS 1.6 descubrí que necesitaba agregar una variable inteligente para obtener el uri de mi tema. En classes / controller / FrontController.php en la línea 333 donde se establece tpl_dir, agregué esta línea a continuación:
''tpl_uri'' => _THEME_DIR_,
que devuelve el camino del tema.
Hay una variable global smarty para la carpeta mytheme img que es - img_dir
Consulte todas las variables de Smarty Global en Prestashop: http://saidul.songzog.com/my-blog/details/848/smarty-global-variables-in-prestashop.html
$tpl_uri
devolverá la ruta del tema actual en relación con la raíz web.
Aquí hay algunas otras variables globales que PrestaShop pone a disposición que pueden ser útiles:
$img_ps_dir // the PrestaShop image directory
$img_cat_dir // current category''s images directory
$img_lang_dir // current language''s images directory
$img_prod_dir // current product''s images directory
$img_manu_dir // current manufacturer''s images directory
$img_sup_dir // current supplier''s images directory
$img_ship_dir // current carrier''s (shipping) images directory
$img_dir // current theme’s images directory
$css_dir // current theme’s CSS directory
$js_dir // current theme’s JavaScript directory
$tpl_dir // current theme’s directory (physical path on machine)
$tpl_uri // current theme''s directory (web-root relative path)
$modules_dir // modules directory
$mail_dir // mail templates directory
$pic_dir // pictures upload directory