acelote 3 Опубликовано: 3 января 2010 Рассказать Опубликовано: 3 января 2010 (изменено) Версия 8.3 сайт тут Правда, этот вопрос про локальную версию. При выводе этого тега в шаблон main.tpl он не работает. Как сделать, чтобы он работал вне полной новости. Делаю для этого тега отдельный блок, заключаю его в aviable=showfull но все равно выводится только тег related-news, а не похожие новости. Я так понял надо в файлах двига что-то править. Шаблоном тут не ограничишься. Никто не знает как это сделать? Изменено 3 января 2010 пользователем acelote Цитата Ссылка на сообщение Поделиться на других сайтах
Creocreo 18 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Естественно, что только в полной новости будет показываться. Это связано с тем, что {related-news} формируется в файле /engine/modules/show.full.php, строки 423-485. Чтобы показывало к примеру в краткой новости, то нужно, чтобы тогда в соответсвующем файле /engine/modules/show.short.php тоже формировалось значение для {related-news}. Иначе будет просто, как Вы и описали, выводиться тег, а не схожие новости. Цитата Ссылка на сообщение Поделиться на других сайтах
acelote 3 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Автор ну да, это я уже понял. Но мне нужно не в show.short.php вынести, а на так, чтобы в блоках на main можно было прописывать. Как код править-то? Цитата Ссылка на сообщение Поделиться на других сайтах
МASTER 11 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Как сделать, чтобы он работал вне полной новости Каким образом он будет выводить "похожие новости" вне новости от которой и идет выборка похожих новостей? Цитата Ссылка на сообщение Поделиться на других сайтах
Creocreo 18 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Общий файл там engine/engine.php, но если блоки на главной, то с чем там текст подобной новости будет сравниваться? Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Чтобы показывало к примеру в краткой новости, то нужно, чтобы тогда в соответсвующем файле /engine/modules/show.short.php тоже формировалось значение для {related-news}. с текущей структурой движка это невозможно. Нужно добавлять поля в базу данных и заполнять таблицу не при просмотре, а при добавлении\редактировании новости.Общий файл там engine/engine.php, но если блоки на главной, то с чем там текст подобной новости будет сравниваться? возможно автор просто хочет при просмотре полной новости выводить эти теги не в шаблоне новости, а в главном шаблоне. Это легко реализуемо (с точки зрения структуры движка), но не в двух строках дело, нужно обращаться к профи, чтобы модуль писали. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Каким образом он будет выводить "похожие новости" вне новости от которой и идет выборка похожих новостей? не, он имел в виду, что тэг related-news не работает в других шаблонах, кроме как в fullstory к примеру, если выводится полная новость, а в шаблоне маин.тпл где то показывается {related-news}, то все равно выведет сам тэг, а не его содержимое т.е. этот код в шаблоне маин.тпл не будет работать [aviable=showfull] {related-news} [/aviable]возможно автор просто хочет при просмотре полной новости выводить эти теги не в шаблоне новости, а в главном шаблоне именно а почему не ввести в файле show.full.php дополнительную переменную, например после строчки $tpl->set( '{related-news}', $buffer ); вставить: $global_related = $buffer; в файле индекс.пхп после $tpl->load_template ( 'main.tpl' ); вставить: $tpl->set ( '{related-news}', $global_related ); теоретически должно работать, пусть ТС проверит 1 Цитата Ссылка на сообщение Поделиться на других сайтах
МASTER 11 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Проще шаблон переделать Цитата Ссылка на сообщение Поделиться на других сайтах
acelote 3 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 (изменено) Автор возможно автор просто хочет при просмотре полной новости выводить эти теги не в шаблоне новости, а в главном шаблоне. Это легко реализуемо (с точки зрения структуры движка), но не в двух строках дело, нужно обращаться к профи, чтобы модуль писали. совершенно верно. К примеру открывается полная новость, а список похожих новостей не внизу новости, над комментами, а в блоке, который находится в совершенно другом месте, а код этого блока прописан в main.tpl. Каким образом он будет выводить "похожие новости" вне новости от которой и идет выборка похожих новостей? потому то я заключу его в тег aviable=showfull. В другом месте он просто не будет высвечиваться да и работать не будет. Т.е. если просматриваться будет просто главная страница, то что бы этот тег там не творил не чудил, его не будет видно, а при просмотре полной он "откроется" и покажет то, что должен показывать.теоретически должно работать, пусть ТС проверит Спасибо за идею. Сейчас проверю. Проще шаблон переделать и как это реализовать?теоретически должно работать, пусть ТС проверит заработало! Спасибище огроменное! Изменено 4 января 2010 пользователем acelote Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 в файле индекс.пхп после $tpl->load_template ( 'main.tpl' ); вставить: $tpl->set ( '{related-news}', $global_related ); теоретически должно работать, пусть ТС проверит как-то оно коряво))) Кстати, её ещё обнулить где-то надо, иначе это небезопасно. Что-то типа $global_related = ""; в engine.php вставить вначале.Это легко реализуемо (с точки зрения структуры движка), но не в двух строках дело, нужно обращаться к профи, чтобы модуль писали. я имел ввиду, кстати, написание модуля, подключаемого через шаблоны) А не с правкой кода. Цитата Ссылка на сообщение Поделиться на других сайтах
acelote 3 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 Автор Что-то типа $global_related = ""; в engine.php вставить вначале. в какое место? Точнее можно? Цитата Ссылка на сообщение Поделиться на других сайтах
МASTER 11 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 (изменено) main.tpl: <table> <tr> <td>Левая колонка</td> <td>Контент, а при просмотре полной новости - шаблон fullstory.tpl</td> [not-aviable=showfull]<td>Правая колонка</td>[/not-aviable] </tr> </table> fullstory.tpl <table> <tr> <td>Полная новость</td> <td>Правая колонка</td> </tr> </table> Короче говоря, при просмотре полной новости вырезаем правую колонку из main.tpl, а в шаблон fullstory.tpl добавляем новую правую колонку и в ней можно использовать теги из полной новости. Конечно не в main.tpl, но удобней. Изменено 4 января 2010 пользователем МASTER Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 4 января 2010 Рассказать Опубликовано: 4 января 2010 (изменено) в какое место? Точнее можно? найди в начале engine.php if (! defined ( 'DATALIFEENGINE' )) { die ( "Hacking attempt!" ); } и сразу после него вставь обнуление переменной $global_related = ""; хотя не думаю, что это критично, но для подстраховки можно, чтоб спалось спокойнее))) как-то оно коряво))) да, ладно) вполне юзабильно) МASTER, твой вариант подойдет далеко не для любого шаблона Изменено 4 января 2010 пользователем prikindel 1 Цитата Ссылка на сообщение Поделиться на других сайтах
acelote 3 Опубликовано: 6 января 2010 Рассказать Опубликовано: 6 января 2010 Автор все сделал и все работает. Спасибо откликнувшимся! Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.