14 февраля, 20251 yr /static/templates/core_global_global.phpЧто за php скрипт, подгружает/исполняет данный шаблон?То есть в каком php файле, искать тот код, который подгружает данный php файл? Edited 14 февраля, 20251 yr by Zuldek199
14 февраля, 20251 yr Файлы из static никто не подгружает, это не шаблоны, а php классы, движок вызывает функции этих классов через getTemplate() из кучи разных мест. Вызов из core_global_global.php выглядит так:$result = Theme::i()->getTemplate( 'global', 'core', 'global' )->function-name( $param ); Вам надо искать вызов конкретной функции, например "->(advertisementImage", поиском по файлам вы ее найдете в паре мест-тройке мест.
14 февраля, 20251 yr Author Как не пытался, ничего не выходит.Нашел по *global*/datastore/globalStreamIds.4e52a1ea3c.phpВ остальных случаях, в папке /static/...Можете написать какой конкретный путь к файлу, иначе я так буду до бесконечности искать...
14 февраля, 20251 yr Если вы прочитали мое первое сообщение, но ничего не поняли, то вам рановато лезть в движок. Edited 14 февраля, 20251 yr by Desti
16 февраля, 20251 yr 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 февраля, 20251 yr Вы удалили форму голосования для темы, естественно, форум как работал, так и будет работать.Еще раз, если опять не получилось понять первое сообщение: файлы в 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 февраля, 20251 yr Author Блин, если страница отдает 404 кодcore_front_global.phpПрописал http_response_code()Возвращает 200 код, значит устанавливается код 404 после подгрузки шаблонов.Вопрос, в каком файле возможно получить актуальный код, после того как ic v5, установить 404?Необходимо занести в бд, адреса всех страниц что отдают 404 код...
17 февраля, 20251 yr 53 минуты назад, Zuldek199 said:Вопрос, в каком файле возможно получить актуальный код, после того как ic v5, установить 404?Все ответы формирует Output, типа Output::i()->error( 'node_error', '2B221/1', 404, '' );Вот в system/Output/Output.php -> error() и добавляйте.
18 февраля, 20251 yr 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 февраля, 20251 yr Это сложно объяснить, но если вы делаете 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.