Перейти к содержанию
Официальный форум поддержки Simpla

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


Перейти к решению Решено question,

Рекомендуемые сообщения

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

 

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

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

 

 

 

print $this->design->single;
 

или

 

print $single;
 

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

Удачи!

Ссылка на сообщение
Поделиться на другие сайты

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

Объявить некоторую переменную в index.php, присвоить значение в ProductsView.php - разве не так должно быть?

Ссылка на сообщение
Поделиться на другие сайты

Объявить некоторую переменную в index.php, присвоить значение в ProductsView.php - разве не так должно быть?

 

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

<?PHP
 
global $single;

И в конце

 

print $single;
 

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

 

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

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

Изменено пользователем question
Ссылка на сообщение
Поделиться на другие сайты

Однако, если в ProductsView.php с самого начала (со второй строчки) написать

 

global $single;
​$single = '1';
 

то срабатывает.

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

Ну это понятно, каждый вью за своё отвечает

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...