You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
ORDER BY o.id_order DESC
LIMIT 300' at line 5<br /><br /><pre>SELECT o.id_order
FROM ps_orders o
LEFT JOIN ps_order_detail od ON (od.id_order = o.id_order)
WHERE o.valid = 1
AND od.product_id IN ()
ORDER BY o.id_order DESC
LIMIT 300</pre>
at line 769 in file classes/db/Db.php
764. if ($webservice_call && $errno) {
765. $dbg = debug_backtrace();
766. WebserviceRequest::getInstance()->setError(500, '[SQL Error] ' . $this->getMsgError() . '. From ' . (isset($dbg[3]['class']) ? $dbg[3]['class'] : '') . '->' . $dbg[3]['function'] . '() Query was : ' . $sql, 97);
767. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) {
768. if ($sql) {
769. throw new PrestaShopDatabaseException($this->getMsgError() . '<br /><br /><pre>' . $sql . '</pre>');
770. }
771.
772. throw new PrestaShopDatabaseException($this->getMsgError());
773. }
774. }
380. $this->result = $this->_query($sql);
381. }
382. }
383.
384. if (_PS_DEBUG_SQL_) {
385. $this->displayError($sql);
386. }
387.
388. return $this->result;
389. }
390.
608. }
609.
610. return $this->execute($sql, $use_cache);
611. }
612.
613. $this->result = $this->query($sql);
614.
615. if (!$this->result) {
616. $result = false;
617. } else {
618. if (!$array) {
252. WHERE o.valid = 1
253. AND od.product_id IN (' . implode(',', $productIds) . ')
254. ORDER BY o.id_order DESC
255. LIMIT ' . ((int) Configuration::get('CROSSSELLING_NBR')) * static::LIMIT_FACTOR;
256.
257. $orders = Db::getInstance((bool) _PS_USE_SQL_SLAVE_)->executeS($q_orders);
258.
259. if (0 < count($orders)) {
260. $list = '';
261. foreach ($orders as $order) {
262. $list .= (int) $order['id_order'] . ',';
209.
210. public function getWidgetVariables($hookName, array $configuration)
211. {
212. $productIds = $this->getProductIds($hookName, $configuration);
213. if (!empty($productIds)) {
214. $products = $this->getOrderProducts($productIds);
215.
216. if (!empty($products)) {
217. return [
218. 'products' => $products,
219. ];
230. if (empty($productIds)) {
231. return;
232. }
233.
234. if (!$this->isCached($this->templateFile, $this->getCacheIdKey($productIds))) {
235. $variables = $this->getWidgetVariables($hookName, $configuration);
236.
237. if (empty($variables)) {
238. return false;
239. }
240.
1012. $context = Context::getContext();
1013. if (!Module::isEnabled($module->name) || $context->isMobile() && !Module::isEnabledForMobileDevices($module->name)) {
1014. return null;
1015. }
1016.
1017. return $module->renderWidget($hook_name, $params);
1018. }
1019.
1020. /**
1021. * @return \PrestaShopBundle\DataCollector\HookRegistry|null
1022. */
959. if ($moduleInstance instanceof WidgetInterface) {
960. if (0 !== $key && true === $chain) {
961. $hook_args = $output;
962. }
963.
964. $display = Hook::coreRenderWidget($moduleInstance, $registeredHookName, $hook_args);
965.
966. if ($array_return) {
967. $output[$moduleInstance->name] = $display;
968. } else {
969. if (true === $chain) {
162.
163. return $result;
164. }
165. unset($hook_params['h']);
166.
167. return Hook::exec($params['h'], $hook_params, $id_module);
168. }
169.
170. function smartyCleanHtml($data)
171. {
172. // Prevent xss injection.
78. } else {
79. $args[] = &$arguments[$a];
80. }
81. }
82.
83. return call_user_func_array($item, $args);
84. }
85. }
86.
87. public static function getInstance($smarty)
88. {
150. <?php }?>
151.
152. </div>
153. <div class="clear"></div>
154. </div>
155. <?php echo call_user_func_array( $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['hook'][0], array( array('h'=>'displayFooterProduct'),$_smarty_tpl ) );?>
156.
157.
158.
159.
160.
118. if ($_template->startRenderCallbacks) {
119. foreach ($_template->startRenderCallbacks as $callback) {
120. call_user_func($callback, $_template);
121. }
122. }
123. $unifunc($_template);
124. foreach ($_template->endRenderCallbacks as $callback) {
125. call_user_func($callback, $_template);
126. }
127. $_template->isRenderingCache = false;
128. } catch (Exception $e) {
109. array_merge($_template->cached->file_dependency, $this->file_dependency);
110. }
111. if ($_template->source->handler->uncompiled) {
112. $_template->source->handler->renderUncompiled($_template->source, $_template);
113. } else {
114. $this->getRenderedTemplateCode($_template);
115. }
116. if ($_template->caching && $this->has_nocache_code) {
117. $_template->cached->hashes[ $this->nocache_hash ] = true;
118. }
119. if ($_template->smarty->debugging) {
211. $this->cached->render($this, $no_output_filter);
212. } else {
213. if (!isset($this->compiled) || $this->compiled->compile_id !== $this->compile_id) {
214. $this->loadCompiled(true);
215. }
216. $this->compiled->render($this);
217. }
218. // display or fetch
219. if ($display) {
220. if ($this->caching && $this->smarty->cache_modified_check) {
221. $this->smarty->ext->_cacheModify->cacheModifiedCheck(
380. }
381. } else {
382. if (isset($tpl->compiled)) {
383. $tpl->compiled->render($tpl);
384. } else {
385. $tpl->render();
386. }
387. }
388. }
389.
390. /**
45. );
46. public function callBlock(Smarty_Internal_Template $_smarty_tpl) {
47. ?>
48.
49.
50. <?php $_smarty_tpl->_subTemplateRender("file:modules/blocknewsplus/views/templates/front/items.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, $_smarty_tpl->cache_lifetime, array(), 0, false);
51. ?>
52.
53. <?php
54. }
55. }
243. */
244. public function callBlock(Smarty_Internal_Block $block, Smarty_Internal_Template $tpl)
245. {
246. $this->sourceStack[] = $tpl->source;
247. $tpl->source = $this->sources[ $block->tplIndex ];
248. $block->callBlock($tpl);
249. $tpl->source = array_pop($this->sourceStack);
250. }
251. }
179. $block->parent = $parent;
180. if ($block->append && !$block->prepend && isset($parent)) {
181. $this->callParent($tpl, $block, '\'{block append}\'');
182. }
183. if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
184. $this->callBlock($block, $tpl);
185. } else {
186. $this->process($tpl, $block->child, $block);
187. }
188. if ($block->prepend && isset($parent)) {
189. $this->callParent($tpl, $block, '{block prepend}');
181. $this->callParent($tpl, $block, '\'{block append}\'');
182. }
183. if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
184. $this->callBlock($block, $tpl);
185. } else {
186. $this->process($tpl, $block->child, $block);
187. }
188. if ($block->prepend && isset($parent)) {
189. $this->callParent($tpl, $block, '{block prepend}');
190. if ($block->append) {
191. if ($block->callsChild || !isset($block->child)
151. }
152. // make sure we got child block of child template of current block
153. while ($block->child && $block->child->child && $block->tplIndex <= $block->child->tplIndex) {
154. $block->child = $block->child->child;
155. }
156. $this->process($tpl, $block);
157. }
158.
159. /**
160. * Goto child block or render this
161. *
92. <?php
93. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_131079499265e886a32a63d9_61581012', 'page_content_top', $this->tplIndex);
94. ?>
95.
96. <?php
97. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_99148362965e886a32a6a04_74827186', 'page_content', $this->tplIndex);
98. ?>
99.
100. </div>
101. <?php
102. }
243. */
244. public function callBlock(Smarty_Internal_Block $block, Smarty_Internal_Template $tpl)
245. {
246. $this->sourceStack[] = $tpl->source;
247. $tpl->source = $this->sources[ $block->tplIndex ];
248. $block->callBlock($tpl);
249. $tpl->source = array_pop($this->sourceStack);
250. }
251. }
179. $block->parent = $parent;
180. if ($block->append && !$block->prepend && isset($parent)) {
181. $this->callParent($tpl, $block, '\'{block append}\'');
182. }
183. if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
184. $this->callBlock($block, $tpl);
185. } else {
186. $this->process($tpl, $block->child, $block);
187. }
188. if ($block->prepend && isset($parent)) {
189. $this->callParent($tpl, $block, '{block prepend}');
151. }
152. // make sure we got child block of child template of current block
153. while ($block->child && $block->child->child && $block->tplIndex <= $block->child->tplIndex) {
154. $block->child = $block->child->child;
155. }
156. $this->process($tpl, $block);
157. }
158.
159. /**
160. * Goto child block or render this
161. *
176. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_112574395565e886a32a3765_09151344', 'page_header_container', $this->tplIndex);
177. ?>
178.
179.
180. <?php
181. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_40572425265e886a32a5f73_18215936', 'page_content_container', $this->tplIndex);
182. ?>
183.
184.
185. <?php
186. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_163018945665e886a32a7377_54476901', 'page_footer_container', $this->tplIndex);
243. */
244. public function callBlock(Smarty_Internal_Block $block, Smarty_Internal_Template $tpl)
245. {
246. $this->sourceStack[] = $tpl->source;
247. $tpl->source = $this->sources[ $block->tplIndex ];
248. $block->callBlock($tpl);
249. $tpl->source = array_pop($this->sourceStack);
250. }
251. }
179. $block->parent = $parent;
180. if ($block->append && !$block->prepend && isset($parent)) {
181. $this->callParent($tpl, $block, '\'{block append}\'');
182. }
183. if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
184. $this->callBlock($block, $tpl);
185. } else {
186. $this->process($tpl, $block->child, $block);
187. }
188. if ($block->prepend && isset($parent)) {
189. $this->callParent($tpl, $block, '{block prepend}');
181. $this->callParent($tpl, $block, '\'{block append}\'');
182. }
183. if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
184. $this->callBlock($block, $tpl);
185. } else {
186. $this->process($tpl, $block->child, $block);
187. }
188. if ($block->prepend && isset($parent)) {
189. $this->callParent($tpl, $block, '{block prepend}');
190. if ($block->append) {
191. if ($block->callsChild || !isset($block->child)
151. }
152. // make sure we got child block of child template of current block
153. while ($block->child && $block->child->child && $block->tplIndex <= $block->child->tplIndex) {
154. $block->child = $block->child->child;
155. }
156. $this->process($tpl, $block);
157. }
158.
159. /**
160. * Goto child block or render this
161. *
96.
97. <div id="content-wrapper" class="js-content-wrapper">
98. <?php echo call_user_func_array( $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['hook'][0], array( array('h'=>"displayContentWrapperTop"),$_smarty_tpl ) );?>
99.
100. <?php
101. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_203955999265e886a32ade82_74759757', 'content', $this->tplIndex);
102. ?>
103.
104. <?php echo call_user_func_array( $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['hook'][0], array( array('h'=>"displayContentWrapperBottom"),$_smarty_tpl ) );?>
105.
106. </div>
243. */
244. public function callBlock(Smarty_Internal_Block $block, Smarty_Internal_Template $tpl)
245. {
246. $this->sourceStack[] = $tpl->source;
247. $tpl->source = $this->sources[ $block->tplIndex ];
248. $block->callBlock($tpl);
249. $tpl->source = array_pop($this->sourceStack);
250. }
251. }
179. $block->parent = $parent;
180. if ($block->append && !$block->prepend && isset($parent)) {
181. $this->callParent($tpl, $block, '\'{block append}\'');
182. }
183. if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
184. $this->callBlock($block, $tpl);
185. } else {
186. $this->process($tpl, $block->child, $block);
187. }
188. if ($block->prepend && isset($parent)) {
189. $this->callParent($tpl, $block, '{block prepend}');
181. $this->callParent($tpl, $block, '\'{block append}\'');
182. }
183. if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
184. $this->callBlock($block, $tpl);
185. } else {
186. $this->process($tpl, $block->child, $block);
187. }
188. if ($block->prepend && isset($parent)) {
189. $this->callParent($tpl, $block, '{block prepend}');
190. if ($block->append) {
191. if ($block->callsChild || !isset($block->child)
151. }
152. // make sure we got child block of child template of current block
153. while ($block->child && $block->child->child && $block->tplIndex <= $block->child->tplIndex) {
154. $block->child = $block->child->child;
155. }
156. $this->process($tpl, $block);
157. }
158.
159. /**
160. * Goto child block or render this
161. *
87. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_2544535065e886a32b7d46_32398273', "left_column");
88. ?>
89.
90.
91. <?php
92. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_92898239665e886a32b9bf6_87589285', "content_wrapper");
93. ?>
94.
95.
96. <?php
97. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_119430554065e886a32bb706_08610903', "right_column");
118. if ($_template->startRenderCallbacks) {
119. foreach ($_template->startRenderCallbacks as $callback) {
120. call_user_func($callback, $_template);
121. }
122. }
123. $unifunc($_template);
124. foreach ($_template->endRenderCallbacks as $callback) {
125. call_user_func($callback, $_template);
126. }
127. $_template->isRenderingCache = false;
128. } catch (Exception $e) {
109. array_merge($_template->cached->file_dependency, $this->file_dependency);
110. }
111. if ($_template->source->handler->uncompiled) {
112. $_template->source->handler->renderUncompiled($_template->source, $_template);
113. } else {
114. $this->getRenderedTemplateCode($_template);
115. }
116. if ($_template->caching && $this->has_nocache_code) {
117. $_template->cached->hashes[ $this->nocache_hash ] = true;
118. }
119. if ($_template->smarty->debugging) {
211. $this->cached->render($this, $no_output_filter);
212. } else {
213. if (!isset($this->compiled) || $this->compiled->compile_id !== $this->compile_id) {
214. $this->loadCompiled(true);
215. }
216. $this->compiled->render($this);
217. }
218. // display or fetch
219. if ($display) {
220. if ($this->caching && $this->smarty->cache_modified_check) {
221. $this->smarty->ext->_cacheModify->cacheModifiedCheck(
380. }
381. } else {
382. if (isset($tpl->compiled)) {
383. $tpl->compiled->render($tpl);
384. } else {
385. $tpl->render();
386. }
387. }
388. }
389.
390. /**
111. }
112. if (isset($template) && (($tpl->parent->_isTplObj() && $tpl->parent->source->type !== 'extends')
113. || $tpl->smarty->extends_recursion)
114. ) {
115. $tpl->_subTemplateRender(
116. $template,
117. $tpl->cache_id,
118. $tpl->compile_id,
119. $tpl->caching ? 9999 : 0,
120. $tpl->cache_lifetime,
121. array(),
37.
38. <?php
39. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_128320330565e886a32ac081_79603392', 'content_wrapper');
40. ?>
41.
42. <?php $_smarty_tpl->inheritance->endChild($_smarty_tpl, 'layouts/layout-both-columns.tpl');
43. }
44. /* {block 'left_column'} */
45. class Block_62571441665e886a32ab258_24051793 extends Smarty_Internal_Block
46. {
47. public $subBlocks = array (
118. if ($_template->startRenderCallbacks) {
119. foreach ($_template->startRenderCallbacks as $callback) {
120. call_user_func($callback, $_template);
121. }
122. }
123. $unifunc($_template);
124. foreach ($_template->endRenderCallbacks as $callback) {
125. call_user_func($callback, $_template);
126. }
127. $_template->isRenderingCache = false;
128. } catch (Exception $e) {
109. array_merge($_template->cached->file_dependency, $this->file_dependency);
110. }
111. if ($_template->source->handler->uncompiled) {
112. $_template->source->handler->renderUncompiled($_template->source, $_template);
113. } else {
114. $this->getRenderedTemplateCode($_template);
115. }
116. if ($_template->caching && $this->has_nocache_code) {
117. $_template->cached->hashes[ $this->nocache_hash ] = true;
118. }
119. if ($_template->smarty->debugging) {
211. $this->cached->render($this, $no_output_filter);
212. } else {
213. if (!isset($this->compiled) || $this->compiled->compile_id !== $this->compile_id) {
214. $this->loadCompiled(true);
215. }
216. $this->compiled->render($this);
217. }
218. // display or fetch
219. if ($display) {
220. if ($this->caching && $this->smarty->cache_modified_check) {
221. $this->smarty->ext->_cacheModify->cacheModifiedCheck(
380. }
381. } else {
382. if (isset($tpl->compiled)) {
383. $tpl->compiled->render($tpl);
384. } else {
385. $tpl->render();
386. }
387. }
388. }
389.
390. /**
111. }
112. if (isset($template) && (($tpl->parent->_isTplObj() && $tpl->parent->source->type !== 'extends')
113. || $tpl->smarty->extends_recursion)
114. ) {
115. $tpl->_subTemplateRender(
116. $template,
117. $tpl->cache_id,
118. $tpl->compile_id,
119. $tpl->caching ? 9999 : 0,
120. $tpl->cache_lifetime,
121. array(),
28.
29. <?php
30. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_178430524365e886a32a2ba4_72340268', 'content');
31. ?>
32.
33. <?php $_smarty_tpl->inheritance->endChild($_smarty_tpl, $_smarty_tpl->tpl_vars['layout']->value);
34. }
35. /* {block 'page_title'} */
36. class Block_42100157465e886a32a4578_43347393 extends Smarty_Internal_Block
37. {
38. public $callsChild = 'true';
118. if ($_template->startRenderCallbacks) {
119. foreach ($_template->startRenderCallbacks as $callback) {
120. call_user_func($callback, $_template);
121. }
122. }
123. $unifunc($_template);
124. foreach ($_template->endRenderCallbacks as $callback) {
125. call_user_func($callback, $_template);
126. }
127. $_template->isRenderingCache = false;
128. } catch (Exception $e) {
109. array_merge($_template->cached->file_dependency, $this->file_dependency);
110. }
111. if ($_template->source->handler->uncompiled) {
112. $_template->source->handler->renderUncompiled($_template->source, $_template);
113. } else {
114. $this->getRenderedTemplateCode($_template);
115. }
116. if ($_template->caching && $this->has_nocache_code) {
117. $_template->cached->hashes[ $this->nocache_hash ] = true;
118. }
119. if ($_template->smarty->debugging) {
211. $this->cached->render($this, $no_output_filter);
212. } else {
213. if (!isset($this->compiled) || $this->compiled->compile_id !== $this->compile_id) {
214. $this->loadCompiled(true);
215. }
216. $this->compiled->render($this);
217. }
218. // display or fetch
219. if ($display) {
220. if ($this->caching && $this->smarty->cache_modified_check) {
221. $this->smarty->ext->_cacheModify->cacheModifiedCheck(
380. }
381. } else {
382. if (isset($tpl->compiled)) {
383. $tpl->compiled->render($tpl);
384. } else {
385. $tpl->render();
386. }
387. }
388. }
389.
390. /**
111. }
112. if (isset($template) && (($tpl->parent->_isTplObj() && $tpl->parent->source->type !== 'extends')
113. || $tpl->smarty->extends_recursion)
114. ) {
115. $tpl->_subTemplateRender(
116. $template,
117. $tpl->cache_id,
118. $tpl->compile_id,
119. $tpl->caching ? 9999 : 0,
120. $tpl->cache_lifetime,
121. array(),
30.
31. <?php
32. $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_114241002165e88fb515c358_63786515', "page_content");
33. ?>
34.
35. <!-- end /homepages/5/d676610830/htdocs/site/modules/blocknewsplus/views/templates/front/items17.tpl --><?php $_smarty_tpl->inheritance->endChild($_smarty_tpl, 'page.tpl');
36. }
37. /* {block "page_content"} */
38. class Block_114241002165e88fb515c358_63786515 extends Smarty_Internal_Block
39. {
40. public $subBlocks = array (
118. if ($_template->startRenderCallbacks) {
119. foreach ($_template->startRenderCallbacks as $callback) {
120. call_user_func($callback, $_template);
121. }
122. }
123. $unifunc($_template);
124. foreach ($_template->endRenderCallbacks as $callback) {
125. call_user_func($callback, $_template);
126. }
127. $_template->isRenderingCache = false;
128. } catch (Exception $e) {
109. array_merge($_template->cached->file_dependency, $this->file_dependency);
110. }
111. if ($_template->source->handler->uncompiled) {
112. $_template->source->handler->renderUncompiled($_template->source, $_template);
113. } else {
114. $this->getRenderedTemplateCode($_template);
115. }
116. if ($_template->caching && $this->has_nocache_code) {
117. $_template->cached->hashes[ $this->nocache_hash ] = true;
118. }
119. if ($_template->smarty->debugging) {
211. $this->cached->render($this, $no_output_filter);
212. } else {
213. if (!isset($this->compiled) || $this->compiled->compile_id !== $this->compile_id) {
214. $this->loadCompiled(true);
215. }
216. $this->compiled->render($this);
217. }
218. // display or fetch
219. if ($display) {
220. if ($this->caching && $this->smarty->cache_modified_check) {
221. $this->smarty->ext->_cacheModify->cacheModifiedCheck(
227. ob_start();
228. $template->_mergeVars();
229. if (!empty(Smarty::$global_tpl_vars)) {
230. $template->tpl_vars = array_merge(Smarty::$global_tpl_vars, $template->tpl_vars);
231. }
232. $result = $template->render(false, $function);
233. $template->_cleanUp();
234. if ($saveVars) {
235. $template->tpl_vars = $savedTplVars;
236. $template->config_vars = $savedConfigVars;
237. } else {
111. * @throws SmartyException
112. * @return string rendered template output
113. */
114. public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null)
115. {
116. $result = $this->_execute($template, $cache_id, $compile_id, $parent, 0);
117. return $result === null ? ob_get_clean() : $result;
118. }
119.
120. /**
121. * displays a Smarty template
35. * {@inheritdoc}
36. */
37. public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null, $display = false, $merge_tpl_vars = true, $no_output_filter = false)
38. {
39. return "\n<!-- begin $template -->\n"
40. . parent::fetch($template, $cache_id, $compile_id, $parent, $display, $merge_tpl_vars, $no_output_filter)
41. . "\n<!-- end $template -->\n";
42. }
43. }
722. if (is_array($content)) {
723. foreach ($content as $tpl) {
724. $html .= $this->context->smarty->fetch($tpl, null, $theme . $this->getLayout());
725. }
726. } else {
727. $html = $this->context->smarty->fetch($content, null, $theme . $this->getLayout());
728. }
729.
730. Hook::exec('actionOutputHTMLBefore', ['html' => &$html]);
731. echo trim($html);
732. }
704. 'javascript' => $this->getJavascript(),
705. 'js_custom_vars' => Media::getJsDef(),
706. 'notifications' => $this->prepareNotifications(),
707. ]);
708.
709. $this->smartyOutputContent($this->template);
710.
711. return true;
712. }
713.
714. protected function smartyOutputContent($content)
321. $this->{'displayAjax' . $action}();
322. } elseif (method_exists($this, 'displayAjax')) {
323. $this->displayAjax();
324. }
325. } else {
326. $this->display();
327. }
328. } else {
329. $this->initCursedPage();
330. $this->smartyOutputContent($this->layout);
331. }
513. if (isset($params_hook_action_dispatcher)) {
514. Hook::exec('actionDispatcher', $params_hook_action_dispatcher);
515. }
516.
517. // Running controller
518. $controller->run();
519.
520. // Execute hook dispatcher after
521. if (isset($params_hook_action_dispatcher)) {
522. Hook::exec('actionDispatcherAfter', $params_hook_action_dispatcher);
523. }
23. * @copyright Since 2007 PrestaShop SA and Contributors
24. * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
25. */
26.
27. require dirname(__FILE__).'/config/config.inc.php';
28. Dispatcher::getInstance()->dispatch();