|
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
|
|
Не видно макросы из init.php08.11.2025, 13:14. Показов 1096. Ответов 13
Метки нет (Все метки)
На сертификации столкнулся с проблемой - определив API названия инфоблоков, различные id и т.п., я не смог воспользоваться этими макросами ни напрямую в result_modifier.php для компонента news.list, ни в файле класса для задач из экзамена. Я создавал init.php в "local/php_interface/init.php". В общем я так и не понял, в чем была проблема, init.php точно работал, т.к. на главной странице сайта макросы выводились. В моем локальном проекте для подготовки все работает как надо, макросы видны везде, где мне нужно.
Еще ко мне пришла мысль, что init может быть свой для каждого сайта, но это в том случае, если создавать его в папке с названием сайта, чего я не делал. Еще вспомнил, что я создал define прям в файле класса, и макрос все равно был пустой
0
|
|
| 08.11.2025, 13:14 | |
|
Ответы с готовыми решениями:
13
ошибка в init.php Рухнул сайт после редактирования init.php Событие init.php на добавление пользователя |
| 08.11.2025, 17:43 | |
|
Что за макросы? Можете привести пример?
Пока единственная мысль: что вы столкнулись с работой кеширования и не учли это. Может вы имеете ввиду именованную константу? Тогда надо знать как именно вы ее используете в result-modifier и какой результат ожидаете
0
|
|
|
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
|
||||||
| 08.11.2025, 20:09 [ТС] | ||||||
|
Да, под макросами я имел ввиду define, я программировал на C++, там define назывался так. Кэш я практически сразу же сбросил как только увидел, что константа выводится без значения, ничего не поменялось. При этом, как я написал в конце первого поста, насколько помню, я решил определить константу прямо в файле класса, но это не изменило проблемы. Я использую константу как API-имя инфоблока, для следующей функции:
Добавлено через 30 минут Ну и константы, которые были интом давали такое же поведение, то есть от типа это не зависело
0
|
||||||
| 09.11.2025, 10:32 | |||||||||||
|
Ну инт в данную конструкцию точно подставлять нет необходимости. Вопрос скорее всего с Битрикс ни как не связан. Особенно если учесть, что вы даже в самом классе задавали и это "не помогло". Это про понимание PHP. Покажите как задали константу в init.php и как ее подставляете. По хорошему, у меня есть такое подозрение, что вообще что то не то пишите там.
Для чего вы это делаете в result_modifier ?В данном случае приведенный код вообще ни как не проливает свет на то как вы это используете. И создаете. На всякий случай уточню, что константы можно задавать только один раз (одну и ту же). Т.е. если у вас где то на пути жизненного цикла хита стоит, например, define('MY_CONST',''); то он так и будет далее иметь это значение. А при попытке повторно ее задать у вас будет 'PHP Warning: Constant MY_CONST already defined' если у вас погашен вывод варнингов - проверьте нет ли подобных записей в логах. К слову есть такая конструкция
Добавлено через 6 минут Единственное что смущает - что "локально работает, а там нет". Нет ли режима мультисайтовости "там". Возможно для разных сайтов каталоги local физически разные (у меня на большинстве проектов с мультисайтовостью - это один и тот же каталог, но не всегда так делают) Файл init.php подключается так
0
|
|||||||||||
|
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
|
||||||||||||||
| 09.11.2025, 12:32 [ТС] | ||||||||||||||
0
|
||||||||||||||
| 09.11.2025, 14:29 | ||||||||
|
Так без кода конечно сложно гадать. Можно попробовать вставить Добавлено через 6 минут код (специально не средствами Битрикс)
- в index.php где подключается ваш компонент (или содержащий его компонент) - если ваш компонент внутри другого - лучше перед каждым подключением компонента в иерархии - непосредственно в вашем классе перед использованием. Может быть очередность что то подскажет.... PS я по опыту использую класс для хранения подобных констант. В зависимости от проекта это либо он в составе отдельного модуля отвечающего за весь проект (и что то вытянуто в настройки в админке), либо просто отдельный класс подключаемый в init.php. Это дает типизацию, не дает опечататься, можно дефолтные значения реализовать для каких то случаев...... Добавлено через 1 минуту Еще пришла в голову мысль: вы уверены что именно этот шаблон компонента используется в result_modifier.php которого пробуете вносить правки?
0
|
||||||||
|
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
|
||||
| 09.11.2025, 14:58 [ТС] | ||||
|
Самое непонятное - они же по итогу создавались, т.к. на главной странице их было видно при выводе, значит init отработал если я правильно понимаю. Короче сложилось впечатление, что значение констант определялось под самый конец, после того как отработали страницы с классом и news.list
0
|
||||
| 09.11.2025, 15:44 | |||
|
Добавлено через 3 минуты Добавлено через 1 минуту вот тут описан жизненый цикл запроса
0
|
|||
|
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
|
|
| 10.11.2025, 12:35 [ТС] | |
|
А что еще в теории может помешать определению значения константы ? У меня вообще 0 идей, помимо многосайтовости, и не хочется оплачивать экзамен, пока есть подобная проблема, а смоделировать ее у себя локально я не знаю как. Что вы думаете насчет ручного подключения init.php через require_once прямо в файл класса ? Решило бы проблему ?
Хотя думаю, в этом нет смысла, в следующий раз оформлю отдельный файл под константы
0
|
|
| 10.11.2025, 14:48 | ||||
|
А там разве нет возможности бесплатно погонять тест в виртуалке? когда эти платные экзамены вводили вроде была такая фишка.
Добавлено через 2 минуты Здесь вроде как есть ссылка на виртуалку - ее себе устанавливали? Пробовали там? Какой из тестов вы проходили?
0
|
||||
|
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
|
||||
| 10.11.2025, 15:54 [ТС] | ||||
|
0
|
||||
| 10.11.2025, 17:39 | ||
0
|
||
|
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
|
|
| 10.11.2025, 17:47 [ТС] | |
|
Не, вы не так поняли, на самом экзамене уже всё установлено. Это надо делать в случае той ознакомительной версии виртуалки, которую вы скинули. То есть на их виртуалке и правда могло быть несколько сайтов, т.к. даже в описании экзамена указано, что есть две директории для разных сертификаций. В общем я сейчас установлю все что там требуется и проверю, там к установке приложен архив с бэкапом и возможно там установится такое же окружение
0
|
|
| 11.11.2025, 07:43 | ||
|
1
|
||
| 11.11.2025, 07:43 | |
|
Помогаю со студенческими работами здесь
14
Безопасная работа с init.php /docs/bitrix/php_interface/init.php Требуется ваша подсказка /docs/bitrix/php_interface/init.php Можете ли прислать пример обработчика в init.php Применить правило только к определённым страницам в хуке 'init' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|