Jump to content

Аналог суперглобальных переменных в Smarty


Go to solution Solved by question,

Recommended Posts

Где-то видел, что можно в произвольной функции объявить переменную так

 

$this->design->assign('single', '1');
 

Однако, вывод в index.tpl таким способом

 

 

 

print $this->design->single;
 

или

 

print $single;
 

ничего не выводит. Подскажите, куда копать.

Link to post
Share on other sites

Мне нужно не в шаблоне, а в index.php получить значение переменной.

Это основы MVC паттерна. Смотрите в сторону view/View.php на примере $page или $user.

Удачи!

Link to post
Share on other sites

Мне нужно из ProductsView.php передать значение в index.php, в моём случае - количество товара на странице ($products_count).

Объявление global переменной не помогло.

Link to post
Share on other sites

Мне нужно из ProductsView.php передать значение в index.php, в моём случае - количество товара на странице ($products_count).

Объявление global переменной не помогло.

 

Зависит от того, как и где объявлять...

Link to post
Share on other sites

А как правильно? Пробовал так: в index.php прям первой строчкой пишу

 

<?PHP
 
global $single;

И в конце

 

print $single;
 

В ProductsView.php указываю

 

    function fetch()
    {
        global $single;
​        $single = '1';
        ... ...
     }  

Но index.php всё равно выводит 0 (ноль)

Edited by question
Link to post
Share on other sites

Но index.php всё равно выводит 0 (ноль)

Вывод зависит от того, какая страница открывается.

На странице категории, например, Ваш способ у меня выводит, как и положено, значение 1.

Link to post
Share on other sites

Мне вот вообще ничего не понятно...

Что именно вы хотите? Если вывести количество товаров на странице Категории, Бренда или Все товары - то это несложно.

А если на какой-то другой - то вообще непонятно, каких именно товаров?

Можете по-человечески описать задачу?

Link to post
Share on other sites

Мне вот вообще ничего не понятно...

Что именно вы хотите? Если вывести количество товаров на странице Категории, Бренда или Все товары - то это несложно.

А если на какой-то другой - то вообще непонятно, каких именно товаров?

Можете по-человечески описать задачу?

Задача непростая и двумя предложениями её не опишешь. Но если кратко, то я делал кеширование некоторых страниц/категорий/товаров в Симпле. Делал это с целью ускорения генерации страниц (иногда по 400 мсек требовалось, сейчас - 5-8).

А вообще при открытии категории нужно было подсчитать количество товаров в ней и передать значение в index.php, в котором уже своя функция делала кеширование по условию.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...