Invalid product vars
at line 106 in file classes/Link.php
101. if (is_array($product) && isset($product['id_product'])) {
102. $product = new Product($product['id_product'], false, $id_lang, $id_shop);
103. } elseif ((int)$product) {
104. $product = new Product((int)$product, false, $id_lang, $id_shop);
105. } else {
106. throw new PrestaShopException('Invalid product vars');
107. }
108. }
109.
110. // Set available keywords
111. $params = array();
214. <link rel="canonical"
215. href="<?php echo $_smarty_tpl->tpl_vars['base_dir_ssl']->value;?>
216. <?php echo smarty_modifier_regex_replace(smarty_modifier_regex_replace(substr($_smarty_tpl->tpl_vars['request_uri']->value,1),'/\/(.*)/',''),'/\?(.*)/','');?>
217. " />
218. <?php } elseif ($_smarty_tpl->tpl_vars['page_name']->value=='product') {?>
219. <link rel="canonical" href="<?php echo $_smarty_tpl->tpl_vars['link']->value->getProductLink($_smarty_tpl->tpl_vars['product']->value);?>
220. " />
221. <?php } elseif ($_smarty_tpl->tpl_vars['page_name']->value=='category'&&isset($_smarty_tpl->tpl_vars['category']->value)) {?>
222. <link rel="canonical" href="<?php echo $_smarty_tpl->tpl_vars['link']->value->getCategoryLink($_smarty_tpl->tpl_vars['category']->value);?>
223. " />
224. <?php } else { ?>
Argument [0]
183. }
184. array_unshift($_template->_capture_stack, array());
185. //
186. // render compiled template
187. //
188. $_template->properties['unifunc']($_template);
189. // any unclosed {capture} tags ?
190. if (isset($_template->_capture_stack[0][0])) {
191. $_template->capture_error();
192. }
193. array_shift($_template->_capture_stack);
Argument [0]
312. $this->smarty->update_filepath($filepath, $this->template_resource, $this->cache_id, $this->compile_id);
313. }
314. }
315. return $tpl;
316. } else {
317. return parent::fetch($template, $cache_id, $compile_id, $parent, $display, $merge_tpl_vars, $no_output_filter);
318. }
319. }
320. }
Argument [0] Argument [1] Argument [2] Argument [3] Argument [4] Argument [5] Argument [6] 1
298. foreach ($data as $_key => $_val) {
299. $tpl->tpl_vars[$_key] = new Smarty_variable($_val);
300. }
301. }
302.
303. return $tpl->fetch(null, null, null, null, false, false, true);
304. }
305.
306. /**
307. * Template code runtime function to set up an inline subtemplate
308. *
Argument [0] Argument [1] Argument [2] Argument [3] Argument [4] Argument [5] Argument [6] 1
35. <?php if ($_valid && !is_callable('content_6605788356d470_58406168')) {function content_6605788356d470_58406168($_smarty_tpl) {?>
36. <?php $_smarty_tpl->tpl_vars['left_column_size'] = new Smarty_variable(0, null, 0);?><?php $_smarty_tpl->tpl_vars['right_column_size'] = new Smarty_variable(0, null, 0);?>
37.
38. <?php if (isset($_smarty_tpl->tpl_vars['HOOK_LEFT_COLUMN']->value)&&trim($_smarty_tpl->tpl_vars['HOOK_LEFT_COLUMN']->value)&&!$_smarty_tpl->tpl_vars['hide_left_column']->value&&$_smarty_tpl->tpl_vars['page_name']->value!='index') {?><?php $_smarty_tpl->tpl_vars['left_column_size'] = new Smarty_variable(3, null, 0);?><?php }?>
39. <?php if (isset($_smarty_tpl->tpl_vars['HOOK_RIGHT_COLUMN']->value)&&trim($_smarty_tpl->tpl_vars['HOOK_RIGHT_COLUMN']->value)&&!$_smarty_tpl->tpl_vars['hide_right_column']->value) {?><?php $_smarty_tpl->tpl_vars['right_column_size'] = new Smarty_variable(3, null, 0);?><?php }?>
40. <?php if (!empty($_smarty_tpl->tpl_vars['display_header']->value)) {?><?php echo $_smarty_tpl->getSubTemplate (((string)$_smarty_tpl->tpl_vars['tpl_dir']->value)."./header.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, null, array('HOOK_HEADER'=>$_smarty_tpl->tpl_vars['HOOK_HEADER']->value), 0);?>
41. <?php }?>
42. <?php if (!empty($_smarty_tpl->tpl_vars['template']->value)) {?><?php echo $_smarty_tpl->tpl_vars['template']->value;?>
43. <?php }?>
44. <?php if (!empty($_smarty_tpl->tpl_vars['display_footer']->value)) {?><?php echo $_smarty_tpl->getSubTemplate (((string)$_smarty_tpl->tpl_vars['tpl_dir']->value)."./footer.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, null, array(), 0);?>
45. <?php }?>
Argument [0] /home/usine-online/www/themes/usineonline/./header.tpl Argument [1] Argument [2] Argument [3] 0 Argument [4] Argument [5] Array ( [HOOK_HEADER] => window["mgctlbx$Pltm"] = "Prestashop"; var mzOptions = { 'zoomWidth':'auto', 'zoomHeight':'auto', 'zoomPosition':'right', 'zoomDistance':15, 'selectorTrigger':'click', 'transitionEffect':true, 'lazyZoom':false, 'rightClick':false, 'zoomMode':'zoom', 'zoomOn':'hover', 'upscale':true, 'smoothing':true, 'variableZoom':false, 'zoomCaption':'off', 'expand':'window', 'expandZoomMode':'zoom', 'expandZoomOn':'click', 'expandCaption':true, 'closeOnClickOutside':true, 'cssClass':'', 'hint':'always', 'textHoverZoomHint':'Passez la souris pour zoomer', 'textClickZoomHint':'Passez la souris pour zoomer', 'textExpandHint':'Passez la souris pour zoomer', 'textBtnClose':'Close', 'textBtnNext':'Next', 'textBtnPrev':'Previous' } var mzMobileOptions = { 'zoomMode':'zoom', 'textHoverZoomHint':'Passez le doigt pour zoomer', 'textClickZoomHint':'Passez le doigt pour zoomer', 'textExpandHint':'Passez le doigt pour zoomer' } var isPrestaShop15x = true; var isPrestaShop1541 = true; var isPrestaShop156x = true; var isPrestaShop16x = true; var isPrestaShop17x = false; var mEvent = 'click'; var originalLayout = true; var m360AsPrimaryImage = true && (typeof(window['Magic360']) != 'undefined'); var useMagicScroll = false; var scrollItems = 3; var isProductMagicZoomReady = false; var allowHighlightActiveSelectorOnUpdate = true; mzOptions['onZoomReady'] = function(id) { //console.log('MagicZoomPlus onZoomReady: ', id); if (id == 'MagicZoomPlusImageMainImage') { isProductMagicZoomReady = true; } } mzOptions['onUpdate'] = function(id, oldA, newA) { //console.log('MagicZoomPlus onUpdate: ', id); if (allowHighlightActiveSelectorOnUpdate) { mtHighlightActiveSelector(newA); } allowHighlightActiveSelectorOnUpdate = true; } /** * 2005-2017 Magic Toolbox * * NOTICE OF LICENSE * * This file is licenced under the Software License Agreement. * With the purchase or the installation of the software in your application * you accept the licence agreement. * * You must not modify, adapt or create derivative works of this source code * * @author Magic Toolbox * @copyright Copyright (c) 2017 Magic Toolbox . All rights reserved * @license https://www.magictoolbox.com/license/ */ var magictoolboxImagesOrder; var updateMainImageIntervalID = null; var updateSelectorsIntervalID = null; var refreshMagicZoomPlusIntervalID = null; var waitForMagicScrollToStop = false; var magicToolboxSelectorsBackup = null; var mtProductCoverImageId = 1; function switchProductMainImage(anchor) { //NOTE: for quick update image on page load (when tool is not ready) if (!isProductMagicZoomReady) { $('#MagicZoomPlusImageMainImage').attr({ 'href': anchor.href, 'title' : anchor.getAttribute('title'), }).find('img').attr({ 'src' : anchor.getAttribute('data-image'), //'alt' : anchor.getAttribute('alt'), }); } //NOTE: clears a timer if (updateMainImageIntervalID != null) { clearInterval(updateMainImageIntervalID); updateMainImageIntervalID = null; } //NOTE: set a timer mtIntervals = isProductMagicZoomReady ? 0 : 500; updateMainImageIntervalID = setInterval(function() { if (isProductMagicZoomReady) { clearInterval(updateMainImageIntervalID); updateMainImageIntervalID = null; MagicZoom.update('MagicZoomPlusImageMainImage', anchor.href, anchor.getAttribute('data-image')); //NOTE: to switch slide container mtHighlightActiveSelector(anchor); mtSwitchContainer(anchor); } }, mtIntervals); } if (originalLayout) { window['displayImageOriginal'] = window['displayImage']; window['displayImage'] = function(domAAroundImgThumb) { if (typeof(domAAroundImgThumb) == 'undefined' || !domAAroundImgThumb.length || !domAAroundImgThumb.attr('href')) { return; } //NOTE: we have to skip the first function call (that is produced by PrestaShop) // so as not to switch the container on page load if (m360AsPrimaryImage && !isProductMagicZoomReady) { return; } var anchor = domAAroundImgThumb.get(0), currentImg = '', el = null; el = document.querySelector('.mz-zoom-window > img'); if (el) { currentImg = el.src; } else { el = document.getElementById('MagicZoomPlusImageMainImage'); if (el) { currentImg = el.href; } } //NOTE: to avoid double update if (currentImg == anchor.href) { return; } switchProductMainImage(anchor); } } else { function refreshProductSelectors(thumbIDs) { if (useMagicScroll) { if (!waitForMagicScrollToStop && !isProductMagicScrollStopped) { waitForMagicScrollToStop = true; MagicScroll.stop('MagicToolboxSelectors'+id_product); } if (doWaitForMagicScrollToStart || (waitForMagicScrollToStop && !isProductMagicScrollStopped) /*|| !MagicScroll.searchIsOver*/ || !isProductMagicZoomReady) { //NOTE: clears a timer if (updateSelectorsIntervalID != null) { clearTimeout(updateSelectorsIntervalID); updateSelectorsIntervalID = null; } //NOTE: set a timer updateSelectorsIntervalID = setTimeout(function() { refreshProductSelectors(thumbIDs); }, 500); return; } //NOTE: reset flag waitForMagicScrollToStop = false; //NOTE: stopped magicToolboxSelectorsBackup = document.getElementById('MagicToolboxHiddenSelectors'); //NOTE: backup all visible selectors into the hidden place $('#MagicToolboxSelectors'+id_product+' > a').each(function() { $(magicToolboxSelectorsBackup).append(this); }); //NOTE: clear div.MagicScroll $('#MagicToolboxSelectors'+id_product).html(''); var selectorObj = null; //NOTE: append magic360 selector into div.MagicScroll selectorObj = $('#MagicToolboxHiddenSelectors > a.m360-selector'); $('#MagicToolboxSelectors'+id_product).append(selectorObj); if (thumbIDs.length) { //NOTE: append selectors into div.MagicScroll for (var i = 0; i < thumbIDs.length; i++) { selectorObj = $('#MagicToolboxHiddenSelectors > a[data-mt-selector-id='+thumbIDs[i]+']'); $('#MagicToolboxSelectors'+id_product).append(selectorObj); } $('#wrapResetImages').removeClass('hidden-important'); } else { //NOTE: append all selectors into div.MagicScroll for (var i = 0; i < magictoolboxImagesOrder.length; i++) { selectorObj = $('#MagicToolboxHiddenSelectors > a[data-mt-selector-id='+magictoolboxImagesOrder[i]+']'); $('#MagicToolboxSelectors'+id_product).append(selectorObj); } $('#wrapResetImages').addClass('hidden-important'); } //NOTE: append video selector into div.MagicScroll if (typeof(videoThumbIDs) == 'undefined') { videoThumbIDs = []; } for (var i = 0; i < videoThumbIDs.length; i++) { selectorObj = $('#MagicToolboxHiddenSelectors > a[data-mt-selector-id='+videoThumbIDs[i]+']'); $('#MagicToolboxSelectors'+id_product).append(selectorObj); } var selectors = document.getElementById('MagicToolboxSelectors'+id_product); //NOTE: if product has no selectors if (!(selectors && selectors.childNodes && selectors.childNodes.length)) { return; } //DEPRECATED: used 'autostart:false' instead //selectors.className = selectors.className.replace(/\bMagicScrollDisabled\b/i, 'MagicScroll'); selectors.className = selectors.className.replace(/\bhidden-important\b/i, ''); //NOTE: to prevent double start when MagicScroll has not been started before doWaitForMagicScrollToStart = true; MagicScroll.start('MagicToolboxSelectors'+id_product); return; } if (thumbIDs.length) { $('#MagicToolboxSelectors'+id_product+' > a').addClass('hidden-selector'); for (var i = 0; i < thumbIDs.length; i++) { $('#MagicToolboxSelectors'+id_product+' > a[data-mt-selector-id="'+thumbIDs[i]+'"]').removeClass('hidden-selector'); } //NOTE: make magic360 selector visible $('#MagicToolboxSelectors'+id_product+' > a.m360-selector').removeClass('hidden-selector'); } else { $('#MagicToolboxSelectors'+id_product+' > a').removeClass('hidden-selector'); } var hiddenSelectorsCount = $('#MagicToolboxSelectors'+id_product+' > a.hidden-selector').length; if (hiddenSelectorsCount) { $('#wrapResetImages').removeClass('hidden-important'); } else { $('#wrapResetImages').addClass('hidden-important'); } } window['refreshProductImagesOriginal'] = window['refreshProductImages']; window['refreshProductImages'] = function(id_product_attribute) { id_product_attribute = parseInt(id_product_attribute); //NOTE: to avoid double restart if (typeof(arguments.callee.last_id_product_attribute) != 'undefined' && (arguments.callee.last_id_product_attribute == id_product_attribute)) { var r = window['refreshProductImagesOriginal'].apply(window, arguments); return r; } arguments.callee.last_id_product_attribute = id_product_attribute; var thumbIDs = []; if (id_product_attribute > 0 && typeof(combinationImages) != 'undefined' && typeof(combinationImages[id_product_attribute]) != 'undefined') { for (var i = 0; i < combinationImages[id_product_attribute].length; i++) { thumbIDs.push(parseInt(combinationImages[id_product_attribute][i])); } } //NOTE: switch main image var anchor = null; if (thumbIDs.length) { //NOTE: thumb id to display by default var thumbId = thumbIDs[0]; //NOTE: find the product cover image for (var i = 0; i < thumbIDs.length; i++) { if (thumbIDs[i] == mtProductCoverImageId) { thumbId = mtProductCoverImageId; break; } } anchor = $('#MagicToolboxSelectors'+id_product+' a[data-mt-selector-id="'+thumbId+'"]'); //NOTE: because MagicScroll creates clones if (useMagicScroll && anchor.length == 3) { anchor = anchor.get(1); } else { anchor = anchor.get(0); } //NOTE: if anchor is hidden (when using MagicScroll) if (typeof(anchor) == 'undefined') { anchor = $('#MagicToolboxHiddenSelectors a[data-mt-selector-id="'+thumbId+'"]').get(0); } //NOTICE: may be we should use 360 icon as first //var anchor = $('#MagicToolboxSelectors'+id_product+' > a').not('.hidden-selector').first().get(0); //NOTE: if product has selectors if (typeof(anchor) != 'undefined') { arguments.callee.last_anchor = anchor; //NOTE: not to switch the container on page load if 360 used as primary image (m360AsPrimaryImage && !isProductMagicZoomReady) || switchProductMainImage(anchor); } } else { if (typeof(arguments.callee.last_anchor) == 'undefined') { var selectors = $('a[data-magic-slide-id="zoom"]'); if (selectors.length) { //NOTE: not to switch the container on page load if 360 used as primary image (m360AsPrimaryImage && !isProductMagicZoomReady) || switchProductMainImage(selectors.get(0)); } } else { //NOTE: not to switch the container on page load if 360 used as primary image (m360AsPrimaryImage && !isProductMagicZoomReady) || switchProductMainImage(arguments.callee.last_anchor); } } refreshProductSelectors(thumbIDs); return window['refreshProductImagesOriginal'].apply(window, arguments); } } $(document).ready(function() { var mtSelectors = $('#views_block li a.magictoolbox-selector'); mtSelectors.unbind('mouseenter mouseleave').click(function() { //NOTE: for blockcart module $('#bigpic').attr('src', $(this).attr('data-image')); }).removeClass('shown'); //mtSelectors.not('.m360-selector').slice(0, 1).addClass('shown'); //NOTE: remove handlers //NOTE: .off() was added in version 1.7 if ($(document).off) { $(document).off('click', '#view_full_size, #image-block img'); $(document).off('click', '#view_full_size, #image-block'); $(document).off('click', '#image-block'); } //$('span#view_full_size, div#image-block img').unbind('click'); $('#image-block img').unbind('click'); //NOTE: .off() was added in version 1.7 if ($(document).off) { $(document).off('mouseover', '#views_block li a'); } if (isPrestaShop15x) { mtBindSelectors(); } else { setTimeout(function() {mtBindSelectors();}, 50); } }); var checkCaptchaUrl ="/modules/eicaptcha/eicaptcha-ajax.php"; var RecaptachKey = "6LddfVMUAAAAAKtbEB4pQmKDM-wHLbganvp47rWd"; /* 0){var fn=window.cg_waitingJQuery.shift();setTimeout(function(){fn();},500);}} function cg_onReady(callback){if(document.readyState!='loading'){callback();} else if(document.addEventListener){document.addEventListener('DOMContentLoaded',callback);} else{document.attachEvent('onreadystatechange',function(){if(document.readyState=='complete')callback();});}} cg_onReady(function(){if(window.jQuery){window.cgjQuery=window.jQuery;cg_onJQueryLoaded();}else{var script=document.createElement('script');document.head.appendChild(script);script.type='text/javascript';script.src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js";script.onload=function(){window.cgjQuery=jQuery.noConflict(true);cg_onJQueryLoaded();};}});/* ]]> */ /* 0&&fields.firstname.length>0){for(var item in fields){if(fields.hasOwnProperty(item)){for(var i=0;i */ /* */ /* */ /* */ ) Argument [6] 0
183. }
184. array_unshift($_template->_capture_stack, array());
185. //
186. // render compiled template
187. //
188. $_template->properties['unifunc']($_template);
189. // any unclosed {capture} tags ?
190. if (isset($_template->_capture_stack[0][0])) {
191. $_template->capture_error();
192. }
193. array_shift($_template->_capture_stack);
Argument [0]
105. * {@inheritDoc}
106. */
107. public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null, $display = false, $merge_tpl_vars = true, $no_output_filter = false)
108. {
109. $this->check_compile_cache_invalidation();
110. return parent::fetch($template, $cache_id, $compile_id, $parent, $display, $merge_tpl_vars, $no_output_filter);
111. }
112.
113. /**
114. * {@inheritDoc}
115. */
Argument [0] /home/usine-online/www/themes/usineonline/layout.tpl Argument [1] Argument [2] Argument [3] Argument [4] Argument [5] 1 Argument [6]
524. if (is_array($content)) {
525. foreach ($content as $tpl) {
526. $html .= $this->context->smarty->fetch($tpl);
527. }
528. } else {
529. $html = $this->context->smarty->fetch($content);
530. }
531.
532. $html = trim($html);
533.
534. if (in_array($this->controller_type, array('front', 'modulefront')) && !empty($html) && $this->getLayout()) {
Argument [0] /home/usine-online/www/themes/usineonline/layout.tpl
718. $this->displayContent();
719. $template = ob_get_contents();
720. ob_clean();
721. }
722. $this->context->smarty->assign('template', $template);
723. $this->smartyOutputContent($layout);
724. } else {
725. Tools::displayAsDeprecated('layout.tpl is missing in your theme directory');
726. if ($this->display_header) {
727. $this->smartyOutputContent(_PS_THEME_DIR_.'header.tpl');
728. }
Argument [0] /home/usine-online/www/themes/usineonline/layout.tpl
204. $this->{'displayAjax'.$action}();
205. } elseif (method_exists($this, 'displayAjax')) {
206. $this->displayAjax();
207. }
208. } else {
209. $this->display();
210. }
211. } else {
212. $this->initCursedPage();
213. $this->smartyOutputContent($this->layout);
214. }
111.
112. if (isset($params_hook_action_dispatcher)) {
113. Hook::exec('actionDispatcher', $params_hook_action_dispatcher);
114. }
115.
116. $controller->run();
117. } catch (PrestaShopException $e) {
118. $e->displayMessage();
119. }
120. }
121.
23. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
24. * International Registered Trademark & Property of PrestaShop SA
25. */
26.
27. require(dirname(__FILE__).'/config/config.inc.php');
28. Dispatcher::getInstance()->dispatch();
29.