|
|
Сайты на Danneo CMS Версии значения не имеют. |
 10.10.2007, 14:32
|
Новый пользователь
Регистрация: 16.07.2007
Сообщения: 7
|
Переменные и блоки
Вопрос:
Почему в правых блоках не отражается значение переменной,
которая определена в модуле?
Например:
в моде есть строка:
$test = "test";
в блоке есть строка:
$bt.= "Значение переменной test = ".$test;
По идее должна выводиться строка "Значение переменной test = test",
но почему-то выводится "Значение переменной test = ",
т.е. скрипт в блоке обрабатывается раньше, чем в моде.
Почему так и как с эти бороться?
__________________
Форум.Loke.Ru
Последний раз редактировалось Коляныч, 10.10.2007 в 15:56.
|
|
|
 10.10.2007, 22:42
|
Живу тут
Регистрация: 16.03.2006
Сообщения: 216
|
Re: Переменные и блоки
Цитата:
Сообщение от Коляныч
т.е. скрипт в блоке обрабатывается раньше, чем в моде.
|
Так сделано, потому что на момент выполнения мода уже нужно точно знать, какие блоки в него включены, и какую информацию из этих блоков в моде нужно отобразить...
См. index.php - перед выполнением мода специальные переменные, в которых хранится подготовленная для отображения блоков информация, уже сформированы; это переменные $leftblock, $rightblock, $topblock, $botblock.
Вариантов решения несколько:
1. определять Вашу переменную не в моде, а еще раньше, до формирования блока.
2. внутри мода заново сформировать переменные блоков, уже с учетом Вашей переменной.
3. и т.д. 
__________________
кто понял жизнь, тот не спешит
|
|
|
 11.10.2007, 04:18
|
Новый пользователь
Регистрация: 16.07.2007
Сообщения: 7
|
Re: Переменные и блоки
Цитата:
Сообщение от aspid
1. определять Вашу переменную не в моде, а еще раньше, до формирования блока.
|
Не подходит. Именно в моде формируется результат вычислений,
который нужно показывать в блоке.
Цитата:
2. внутри мода заново сформировать переменные блоков, уже с учетом Вашей переменной. |
На сколько я понял, все правые блоки содержатся в переменной
$rightblock и "собираются" в index.php по признаку включен/выключен.
Вопрос в том какие переменные нужно переформировывать, в каком
скрипте и как учесть "мою" переменную для вывода в блоке? 
В целях эксперимента в начале загрузки index.php
создавал переменную $_SESSION['test'] == 0, и выводил в процессе
обработки в блоках и моде ++. Результат поразил: в блоке переменная
обрабатывается по-своему, в моде - по-своему,
т.е. в блоке и в моде есть одинаковые значения одной переменной,
которая должна увеличиваться на +1. Не понятно, по каким законам
природы выполняются вычисления 
__________________
Форум.Loke.Ru
|
|
|
 11.10.2007, 07:05
|
Живу тут
Регистрация: 25.11.2005
Адрес: Perm
Сообщения: 536
|
Re: Переменные и блоки
Цитата:
Почему в правых блоках не отражается значение переменной,
которая определена в модуле? |
модуль - это один скрипт, со своими переменными, блок - другой...
оба они подключаются в index.php, но тк блоки подключаются раньше чем моды, передача переменной в блок из мода проблематична...
стоит, наверно, в блоке все таки еще раз посчитать эту переменную...
__________________
Не сравнивайте ничего с ничем - и быть вам тогда подобным самому себе, ибо вас тоже ни с чем не сравнят. А иначе были вы - все равно что не были...
|
|
|
 11.10.2007, 07:15
|
Живу тут
Регистрация: 16.03.2006
Сообщения: 216
|
Re: Переменные и блоки
Цитата:
Сообщение от Коляныч
Результат поразил: в блоке переменная
обрабатывается по-своему, в моде - по-своему
|
сессно, это же разные переменные 
обзовите ее global - тогда будет везде одинаковой
возвращаясь к формированию блока внутри мода:
посмотрите, как формируются блоки сейчас, в index.php...
В Ваш мод, уже после выполнения необходимых вычислений, но еще до вывода чего-либо на экран, включите подобный код; переменные, значения которых нужно передать в блок, назначьте global.
Но нужно иметь в виду, что при обработке другого мода все сломается, т.к. там про вычисленные ранее значения ничего не известно.
__________________
кто понял жизнь, тот не спешит
|
|
|
 11.10.2007, 08:44
|
Тестер
Регистрация: 14.09.2006
Адрес: 404...
Сообщения: 516
|
Re: Переменные и блоки
php.ru - юзайте.
__________________
Grinder.com.ua
|
|
|
 Вчера, 11:21
|
Новый пользователь
Регистрация: 16.07.2007
Сообщения: 7
|
Re: Переменные и блоки
Цитата:
Сообщение от Musmaniak
php.ru - юзайте.
|
Спасибо, предложение действительно не плохое
Здесь в блоке "Вход для клиентов" нужно показывать состояние корзины.
login: test
pass: test
Суть проблемы уже обсуждалась ниже.
Если есть предложения, - пишите, или стучите в Асю
ICQ: один пять пять три пять пять два
__________________
Форум.Loke.Ru
Последний раз редактировалось Коляныч, Вчера в 11:48.
|
|
|
 Вчера, 12:10
|
Новый пользователь
Регистрация: 16.07.2007
Сообщения: 7
|
Re: Переменные и блоки
Ну не может не быть решения задачи.
Посоветуйте что-нибудь 
__________________
Форум.Loke.Ru
Последний раз редактировалось Коляныч, Вчера в 21:00.
|
|
|
Здесь присутствуют: 1 (пользователей - 0 , гостей - 1) |
|
Опции темы
|
Поиск в этой теме
|
|
|
Опции просмотра
|
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +3, время: 10:40.
vBulletin v3.6.7, Copyright ©2000-2007
 Лицензировано для www.danneo.com
|
|
|