flybug 2 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 Здравствуйте, нужна модификация DLE 8.2 + SMF 1.1.8 О Модификации, мне не нужна интеграция ! Мне нужно реализовать вывод последних сообщений SMF форма на главной страницы DLE сайта Как мне говорили на других форумом реализовать это проще простого, но в php я 0 ICQ 1710551 www.aionsoft.ru Цитата Ссылка на сообщение Поделиться на других сайтах
Creocreo 18 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 В СМФ есть хорошая штука, что движок через SSI отдает сам уже последние темы. У вас на сайте это находится тут: _http://www.aionsoft.ru/for/SSI.php?ssi_function=recentTopics Достаточно в шаблоне выткнуть <iframe src="http://www.aionsoft.ru/for/SSI.php?ssi_function=recentTopics" width="100%" height="350" frameborder="0" scrolling="no"> </iframe> И будет показывать последние темы, правда оформление надо тогда в файле SSI менять. Можно конечно сделать и без фреймов, а то поисковики их иногда не любят, но обычно проблем со фреймами на том же домене не бывает. Я не сталкивался во всяком случае. Если без фрейма, то надо что типо такого сделать: <?php if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } global $conf; unset($bt); $bt = ""; ob_start(); include_once ("http://site.ru/forum/SSI.php?ssi_function=recentTopics"); $output = ob_get_contents(); ob_end_clean(); $bt = $output; return $bt; ?> Цитата Ссылка на сообщение Поделиться на других сайтах
flybug 2 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 Автор Всё равно не то получается Вот ставлю <iframe src="http://www.aionsoft.ru/for/SSI.php?ssi_function=recentTopics" width="100%" height="350" frameborder="0" scrolling="no"> </iframe> Всё работает, появляются последние темы, но по нажатию на ссылку я не перемещаюсь на форум в тему. На самом сайте просто появляется данный пост ___________________________ Вставлял это if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } global $conf; unset($bt); $bt = ""; ob_start(); include_once ("http://site.ru/forum/SSI.php?ssi_function=recentTopics"); $output = ob_get_contents(); ob_end_clean(); $bt = $output; return $bt; ?> Вообще не чего не отображалось Цитата Ссылка на сообщение Поделиться на других сайтах
Creocreo 18 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 Всё работает, появляются последние темы, но по нажатию на ссылку я не перемещаюсь на форум в тему. На самом сайте просто появляется данный пост там в SSI надо сделать, чтобы ссылки имели параметр target="_top" тогда они будут открываться в полном окне. иначе открывается внутри фрейма Вставлял это if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } global $conf; unset($bt); $bt = ""; ob_start(); include_once ("http://site.ru/forum/SSI.php?ssi_function=recentTopics"); $output = ob_get_contents(); ob_end_clean(); $bt = $output; return $bt; ?> Вообще не чего не отображалось Естественно Этот второй вариант - это набросок php-кода, его все равно не в шаблон надо вставлятъ. php в шаблоне не поддерживается. Это надо отдельный php-файл сделать, который будет создавать нужную информацию для вывода информации, к примеру {forum-messages}. И создать потом еще в шаблоне вывод этого самого {forum-messages}. Полностью не писал, так как там на полчаса работы, а времени было 2 минуты. Цитата Ссылка на сообщение Поделиться на других сайтах
flybug 2 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 Автор Про target="_top" объясните куда вписывать А второй вариант вообще мне не осилить Цитата Ссылка на сообщение Поделиться на других сайтах
Creocreo 18 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 flybug Как же админите, если php совсем-совсем не знаете? ))) Это у вас на форуме в файле /for/SSI.php надо править. У меня версии форума 1.1.8 нет на локалке, скачал 1.1.11 сейчас. Но должно быть одинаково. В 333-ей строке начинается функция, которая выдает список топиков: function ssi_recentTopics($num_recent = 8, $exclude_boards = null, $output_method = 'echo') Если нужно 10 тем, а не 8, то замените 8 на 10. Чтобы ссылки открывались в новом окне, а не во фрейме, нужно сделать следующие замены: В 387-ой строке замените: 'link' => '<a href="' . $scripturl . '?board=' . $row['ID_BOARD'] . '.0">' . $row['bName'] . '</a>' на 'link' => '<a target="_top" href="' . $scripturl . '?board=' . $row['ID_BOARD'] . '.0">' . $row['bName'] . '</a>' в 394-ой строчке замените: 'link' => empty($row['ID_MEMBER']) ? $row['posterName'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>' на 'link' => empty($row['ID_MEMBER']) ? $row['posterName'] : '<a target="_top" href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>' В 402-ой строчке замените: 'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . '#new">' . $row['subject'] . '</a>', на 'link' => '<a target="_top" href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . '#new">' . $row['subject'] . '</a>', В 425-ой строчке замените: ', $post['new'] ? '' : '<a href="' . $scripturl . '?topic=' . $post['topic'] . '.msg' . $post['new_from'] . ';topicseen#new"><img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/new.gif" alt="' . $txt[302] . '" border="0" /></a>', ' на ', $post['new'] ? '' : '<a target="_top" href="' . $scripturl . '?topic=' . $post['topic'] . '.msg' . $post['new_from'] . ';topicseen#new"><img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/new.gif" alt="' . $txt[302] . '" border="0" /></a>', ' Готово Цитата Ссылка на сообщение Поделиться на других сайтах
flybug 2 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 Автор спасибо, щас попробуюParse error: syntax error, unexpected '/' in /home/aionsoft/data/www/aionsoft.ru/for/SSI.php on line 323 Цитата Ссылка на сообщение Поделиться на других сайтах
Creocreo 18 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 а что у вас там в 323-ей строке? Цитата Ссылка на сообщение Поделиться на других сайтах
flybug 2 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 Автор http://dump.ru/file/4339097 Цитата Ссылка на сообщение Поделиться на других сайтах
Creocreo 18 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 Зачем вы меняли в 285, 292, 300 и 322-ой строке в совсем другой функции? :ph34r: Вы делаете изменения не там, полезли в ssi_recentPosts вместо function recentTopics. Сделайте всё по инструкции, должно работать как надо Цитата Ссылка на сообщение Поделиться на других сайтах
mitriy 5 Опубликовано: 20 февраля 2010 Рассказать Опубликовано: 20 февраля 2010 блин. че вы так гемороитесь. хелп слабо почитать к форуму? зайди под админом на форум. и запусти ssi_examples.php он тебе вверху даст строчку с относительным путем до файла ssi.php вставляешь эту строку в main.tpl в самый верх. далее в шаблоне в нужное место вставляешь вызов нужной функции. какая именно и что она будет выводить увидишь в файле ssi_examples.php там прямо и написанно. строка такая-то - выводит то-то. и все. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.