14 февраля, 2025Feb 14 /static/templates/core_global_global.phpЧто за php скрипт, подгружает/исполняет данный шаблон?То есть в каком php файле, искать тот код, который подгружает данный php файл? Edited 14 февраля, 2025Feb 14 by Zuldek199
14 февраля, 2025Feb 14 Файлы из static никто не подгружает, это не шаблоны, а php классы, движок вызывает функции этих классов через getTemplate() из кучи разных мест. Вызов из core_global_global.php выглядит так:$result = Theme::i()->getTemplate( 'global', 'core', 'global' )->function-name( $param ); Вам надо искать вызов конкретной функции, например "->(advertisementImage", поиском по файлам вы ее найдете в паре мест-тройке мест.
14 февраля, 2025Feb 14 Author Как не пытался, ничего не выходит.Нашел по *global*/datastore/globalStreamIds.4e52a1ea3c.phpВ остальных случаях, в папке /static/...Можете написать какой конкретный путь к файлу, иначе я так буду до бесконечности искать...
14 февраля, 2025Feb 14 Если вы прочитали мое первое сообщение, но ничего не поняли, то вам рановато лезть в движок. Edited 14 февраля, 2025Feb 14 by Desti
16 февраля, 2025Feb 16 Author Удалил {$pollForm->customTemplate( array( \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' ), 'pollForm' ), $url, $poll )} Почистил кэш, форум как работал, так и работает, открывает страницу, верстка и тд, все на месте. Значит что то не то...$result = Theme::i()->getTemplate( 'global', 'core', 'global' )->function-name( $param );Где эта строчка, в каком файле?
16 февраля, 2025Feb 16 Вы удалили форму голосования для темы, естественно, форум как работал, так и будет работать.Еще раз, если опять не получилось понять первое сообщение: файлы в static типа core_global_global.php не шаблоны, это полноценные классы php с кучей функций. Если что, функция в php выглядит как строчка, первое слово в которой function, например function dashboard() {...}. Вы можете открыть редактором любой файл в static и увидеть, как он устроен. Делая вызов типа Theme::i()->getTemplate( 'global', 'core', 'global' )->function-name( $param ) вы вызываете из файла core_global_global.php (определяется параметрами ( 'global', 'core', 'global' ) ) функцию function-name(). Имя function-name дана только для примера, ее не существует и искать ее бесполезно. Вам надо найти свою функцию, ту, в которой живет шаблон, который надо изменить и искать вызов этой конкретной функции. Еще добавлю, все ваши изменения исчезнут после обновления версии форума.
17 февраля, 2025Feb 17 Author Блин, если страница отдает 404 кодcore_front_global.phpПрописал http_response_code()Возвращает 200 код, значит устанавливается код 404 после подгрузки шаблонов.Вопрос, в каком файле возможно получить актуальный код, после того как ic v5, установить 404?Необходимо занести в бд, адреса всех страниц что отдают 404 код...
17 февраля, 2025Feb 17 53 минуты назад, Zuldek199 said:Вопрос, в каком файле возможно получить актуальный код, после того как ic v5, установить 404?Все ответы формирует Output, типа Output::i()->error( 'node_error', '2B221/1', 404, '' );Вот в system/Output/Output.php -> error() и добавляйте.
18 февраля, 2025Feb 18 Author $error_ = Db::i()->select( 'url', 'error_url', array('url = ?', $_SERVER['REQUEST_URI']))->first(); !$error_ && Db::i()->insert( 'error_url', array('code' => $httpStatusCode, 'url' => $_SERVER['REQUEST_URI'], 'user_agent' => $_SERVER['HTTP_USER_AGENT']));При попытке выполнить запрос на наличии записи, а затем запись, непонятно что за ошибка происходит...Не дает одновременно это сделать, по одному все ок. В чем тут дело?
18 февраля, 2025Feb 18 Это сложно объяснить, но если вы делаете first() в селекте по полю, но у вас нет данных, выстрелит UnderflowException. Поэтому всегда ставьте COUNT(поле)$error_ = Db::i()->select( 'COUNT(url)', 'error_url', array('url = ?', $_SERVER['REQUEST_URI']))->first();В остальном должно работать.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.