Интеграция Linkexchanger в E107 CMS

Статус
В этой теме нельзя размещать новые ответы.

AidarJan

Писатель
Регистрация
1 Июн 2007
Сообщения
6
Реакции
0
Тема посвящена вопросу: "Как вписать в дизайн e107 CMS скрипт каталога Linkexchanger?"

В особенности адресовано тем, кто использовал сам скрипт каталога Linkexchanger и/или e107.

Использовал скрипт каталога ссылок Linkexchanger 2.0 на сайте с e107 CMS 0.7.10. (Версия e107 не существенна.)

Пытался интегрировать в дизайн сайта следующим способом.
В самом начале файла скрипта header.inc после "<?php" вставил код:
Код:
require_once('../class2.php');
require_once(HEADERF);

В конце файла скрипта footer.inc вставил код:
Код:
<?php
require_once(FOOTERF);
?>

Результат: каталог полностью не работает, не идет обработка, как я понимаю, вывода формы поиска и категорий.

Как выяснилось, существует несколько вариантов интеграции:

1) Для e107 существует плагин, который позволяет поместить любую страницу (сайт) во фрейм и встроить в дизайн сайта. Результатом будет работоспособный скрипт во фрейме, встроенный в дизайн e107. Самый простой способ интеграции. Однако бесполезный, потому как страница созданная таким образом не будет индексироваться ПС.

2) добавление куска кода e107 в код скрипта.
Вообще принцип интеграции в дизайн e107:
Код:
<?php
require_once("class2.php"); /*основной файл переменных и пр. e107*/
require_once(HEADERF); /*Верхняя и левая части e107*/

$caption = "Заголовок страницы"; /*Например, «Каталог»*/
$text = "

Код HTML файла, который между <body> </body>

";

$caption = $tp->toHtml($caption); /*Я так понимаю это перевод текстовой переменной названия окна в html формат*/
$text = $tp->toHtml($text); /*А это перевод текстовой переменной содержания окна в html формат*/
$ns -> tablerender($caption, $text); /*Сам вывод содержимого в окне с названием*/

require_once(FOOTERF); /*Нижняя и правая части e107*/

?>

Здесь все усложняется тем, что код скрипта Linkexchanger имеет как php так и html участки кода.

Попытка интеграции при помощи изменений в файлы header.inc и footer.inc не принесла результаты. Как указано выше,
каталог полностью не работает, не идет обработка, как я понимаю, вывода формы поиска и категорий.
Отказался от этого варианта.

В скрипте два основных файла, с которыми взаимодействует пользователь, и которые важны для интеграции, это:

index.php – титульная страница скрипта
submit.php – страница добавления ссылок

Я сделал следующее:

В самом начале данных файлов после открытия php"<?php" до собственно кода скрипта вставил код:
Код:
require_once('../class2.php');
require_once(HEADERF);

В конце файлов до закрытия php "?>" после кода скрипта вставил код:
Код:
require_once(FOOTERF);

Результат: каталог работает, выводятся категории, отображаются последние добавленные ссылки, осуществляется поиск, выводится содержимое категорий, добавляются новые ссылки и т.д.

Есть недостатки:
1) интеграция в дизайн сайта – псевдо интеграция. Несмотря на то, что шапка, подвал, левые и правые блоки e107 выводятся, не происходит полной интеграции.
По общему правилу, центральное содержимое e107 выводится в «таблице». Разницу можно увидеть, например, сравнив ссылки Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся.

Почему при такой интеграции не происходит вывод содержимого в таблице?
Ответ простой, я не использовал весь необходимый код для создания полноценной e107 страницы.
Дело в том, что вывод содержимого страницы в таблицу осуществляется следующим образом:
Код:
$ns -> tablerender($caption, $text);

Где:
$caption – заголовок страницы
$text – содержимое страницы

В коде скрипта Linkexchanger для вывода содержимого используется команда “echo”, которая выводит сразу заданную строку, переменную и т.д.
По логике, необходимо выводимые скриптом через echo данные собирать в переменную $text, и только потом выводить в таблицу, т.е. в полноценную страницу e107.
С последним у меня проблемы. Я не являюсь программистом php и мало что в нем понимаю.

Баги:
1) после добавления ссылки (при установке «на модерацию») footerf не выводится, причина – происходит прекращение работы скрипта преждевременно;
2) после добавления ссылки (при установке «добавить сразу») footerf не выводится, причина – та же;
3) сбиваются стили e107, потому что применяются в последствии стили linkexchanger;
4) форма ввода текста поиска отклоняется от заданных размеров.

Что можно сделать, посоветовать, рекомендовать…
Совместными усилиями все-таки можно добиться результата…

Специально для целей интеграции, сайт с установленной версией e107 и linkexchanger:
Для просмотра ссылки Войди или Зарегистрируйся
(исключительно для демонстрации и тестирования)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху