Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2008-12-28 12:44:54

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Как натянуть дизайн движка на сторонний скрипт

Тема такая:
Нужно прикрутить сторонний каталог (линкоферма).
От каталога есть только один php файл, допустим katalog.php вот с таким кодом:

<?php ob_start(); // это 1 часть кода, обязательно поставьте ее в самое начало страницы!!! ?>

<title>Статьи</title>
<?php // Это 2 часть кода она может находится в удобном для вашего дизайна месте.
error_reporting(0);
$out_serv = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$out_ua = $_SERVER["HTTP_USER_AGENT"];
echo file_get_contents("http://outlink.ru/include/pages.php?s_art=3755&u_art=3767&serv_art=".urlencode($out_serv)."&ua_art=".urlencode($out_ua));
$html = ob_get_clean();
function change_title($html) { 
if (preg_match('#<index><h1[^>]*>(.+)</h1></index>#iS', $html, $matches)) 
if (preg_match('#<title[^>]*>(.+)</title>#iS', $html, $mtitle)) 
return str_replace($mtitle[0], '<title>'.strip_tags($matches[1]).'</title>', $html); 
return $html;} 
echo change_title($html);
?>

При заходе на страницу - _http://sait.ru/katalog.php должен быть такой же дизайн как и на сайте и виджеты должны быть рабочими.

В принципе как должно быть понятно:
1. создаю файл например index2.php с кодом как в index.php
2. создаю шаблон например main.katalog
3. изменяю в index2.php   main на  main.katalog
4. всавляю в main.katalog, в то место которое надо тег [katalog]
5. прописываю в index2.php после

$template['vars']['queries'] = $mysql -> qcnt();
$template['vars']['exectime'] = $timer -> stop();

приблизительно вот так:

     include("katalog.php");
     $poptopic3 = file_get_contents();
     $template['vars']['katalog'] = $katalog = ob_get_clean();

Суть вопроса именно в пункте 5, как правильно прописать код?
То как я сделал работает криво. Поскольку мои познания в php "ноль" действовал методом "тыка".

Вне форума

#2 2008-12-28 13:16:29

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Как натянуть дизайн движка на сторонний скрипт

А ты уверен, что хочешь работать с этим outlink'ом?
Тот вариант скрипта, который ты показал, представляет из себя огромнейшую дырку в безопасности.
В любой момент они могут сделать с твоим сайтом всё что угодно - начиная от банального показа собственных баннеров (около месяца назад на таком попался filepost - иногда вместо своих ссылок рекламировал какое-то тур. агенство, но они свои скрипты подключают через JScript, поэтому серверу навредить не могут) заканчивая утаскивание себе всех паролей и редактированием любых файлов у тебя на сайте.
Главное - чтобы было желание. Возможно - у outlink'а, а возможно - у тех, кто его взломает.

Вне форума

#3 2008-12-28 13:41:16

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Виталь, здравствуй, на счет дырки я не знал, для меня это открытие...
Вообще, я просто эксперимент поставить хочу (насколько быстро мой сайт улетит в бан), и хостинг новый обкатать. Можно конечно другой линкатор попробовать, но мне outlink кажется самым лучшим в плане качества сайтов.
А если например файл katalog.php положить в папку например, как у сапы (типа: 2345676345465763547...) и уже отуда его выводить в index2.php? Ну или вообще как-то можно наладить безопасность?

Вне форума

#4 2008-12-31 10:17:17

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Как натянуть дизайн движка на сторонний скрипт

Oleg, сорри. Был невнимателен.
Мне показалось, что они используют include, который очень опасен (а не неопасный в данной ситуации file_get_contents).

С "натягиванием" можно поступить проще - сделать маленький плагин, это будет тебе в качестве компенсации smile

Плагин без конфигуратора, поэтому процедура установки такова:
1. Ставишь плагин link_outlinks 0.00
2. В коде link_outlinks.php  находишь текс

s_art=5881&u_art=5996

и меняешь его на свои значения из кода, которые показываются в панели управления твоим сайтом на outlink'е.

3. Открываешь основной .htaccess файл (т.е. в корне сайта) и добавляешь в конец:

RewriteRule ^topic/ ?action=plugin&plugin=link_outlink
RewriteRule ^topic/ento([0-9]*)/ ?action=plugin&plugin=link_outlink&ento=$1
RewriteRule ^topic/ent([0-9]*)/ ?action=plugin&plugin=link_outlink&ent=$1

4. В настройках сайта на outlink название странички меняешь на topic.php (если нужно другое имя, то в .htaccess'е надо писать именно его, но без расширения [b].php[/]b), и обязательно ставишь галочку в настройках статического отображения!


Если будут какие-то проблемы - обращайся :)

Вне форума

#5 2008-12-31 19:15:50

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Ух, только что увидел. Спасибо. Посмотрю после празднования.

Вне форума

#6 2009-01-06 22:11:01

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Здравствуй, Виталий. В общем, установил плагин "link_outlinks" и возник вопрос.
Каталог работает по адресу: _http://www.мой_сайт.ru/plugin/link_outlink/ - это так должно быть или я что-то не правильно понял?

Вне форума

#7 2009-01-06 22:23:19

ROZARD
Модератор
Откуда: Россия, Астрахань
Здесь с 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Как натянуть дизайн движка на сторонний скрипт

http://www.мой_сайт.ru/?action=plugin&plugin=link_outlink или
http://www.мой_сайт.ru/topic/

Вне форума

#8 2009-01-06 22:34:57

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

http://www.мой_сайт.ru/?action=plugin&plugin=link_outlink - так работает, но outlink в <title> дает свои значения, а сейчас в <title> стоят значения движка "Название сайта : Плагин". С таким вариантом сайт не пройдет модерацию в outlink

http://www.мой_сайт.ru/topic/ - так не работает. Пишет "Информация: Категория не найдена!"

Галочка в настройках (на outlink) статического отображения стоит.

Отредактировано Oleg (2009-01-06 22:45:35)

Вне форума

#9 2009-01-06 22:46:38

ROZARD
Модератор
Откуда: Россия, Астрахань
Здесь с 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Как натянуть дизайн движка на сторонний скрипт

Oleg, А ты в конец .htaccess добавил строчки?:

RewriteRule ^topic/ ?action=plugin&plugin=link_outlink
RewriteRule ^topic/ento([0-9]*)/ ?action=plugin&plugin=link_outlink&ento=$1
RewriteRule ^topic/ent([0-9]*)/ ?action=plugin&plugin=link_outlink&ent=$1

Вне форума

#10 2009-01-06 22:49:43

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Да, разумеется, сделал все как написано.

Вне форума

#11 2009-01-06 23:01:56

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Как натянуть дизайн движка на сторонний скрипт

2Oleg:
1. Ты не переделывал .htaccess чтобы к категориям можно было обращаться не как к /category/ИМЯ_КАТЕГОРИИ/ а как к /ИМЯ_КАТЕГОРИИ/ ?

Если переделывал, то перенеси указанные строчки в место сразу после:

# Editable links

2. Я, вроде, правильно переделал код outlinks'а.
Они подставляют свой title, но не всегда, а когда выставляют специальный флаг.
Вот у меня аналогично - их title проставится только в случае, если они его передадут.
Попробуй проверить, если что не так - буду более детально разбираться.

3. Плагин должен быть доступен по адресу /topic/ - как и сделано в варианте, который выдаётся outlink'ом.

Вне форума

#12 2009-01-07 00:11:24

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

1. Да, переделывал, перенес под "# Editable links" помогло.
2. Сайт в Аутлинк добавил сегодня. На данный момент сайт на: "Сайт на модерации!".
Если зайти http://www.мой_сайт.ru/topic.php, то титлы аутлинка есть: <title>Статьи</title>.
Если зайти http://www.мой_сайт.ru/topic/, то титлы движка: <title>Название сайта : Плагин</title>, хотя по идее должно отображаться <title>Статьи</title>. Просмотрел HTML-код страницы http://www.мой_сайт.ru/topic/ (ну мало ли, может <title> аутлинка вылезли где-нибудь между <body>) никаких других title нет.

Вне форума

#13 2009-01-08 00:15:41

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Как натянуть дизайн движка на сторонний скрипт

1. Хорошо
2. Значит outlink не генерирует собственный title при заходе по url'у /topic/
Все вопросы к ним,.. возможно так и задумывалось?

p.s. В настройках outlink'а ты указал, что у тебя так называемый "ЧПУ режим" (или .htaccess режим)?

Вне форума

#14 2009-01-08 01:20:27

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Ну посмотрим, будет аутлинк на другие страницы каталога title генерировать или нет.
Мой сайт все еще на модерации висит, поэтому подожду на счет title-лов.

На счет "ЧПУ режим" галочка в настройках аутлинка стоит.

Вне форума

#15 2009-01-08 01:32:41

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Еще такой вопрос:
у меня на главной странице стоит отдельный шаблон (main_gl.tpl) на всех остальных стандартный шаблон (main.tpl), url /topic/ выводит каталог в шаблоне главной страницы (main_gl.tpl), а мне надо чтобы выводил в стандартный шаблон (main.tpl), что нужно дописать в link_outlink.php???

Вне форума

#16 2009-01-08 17:32:04

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Сегодня сайт прошел модерацию в аутлинке. Титлы (<title>) по адресу _http://мой_сайт/topic/ и внутри каталога по прежнему генерятся движком (Название сайта : Плагин), а не аутлинком.
С шаблоном разобрался, все шаблоны выводятся как надо.

Вне форума

#17 2009-01-08 17:37:40

ROZARD
Модератор
Откуда: Россия, Астрахань
Здесь с 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Как натянуть дизайн движка на сторонний скрипт

Oleg, Если добавишь в код плагина после:

global $SYSTEM_FLAGS, $template;

вот это:

$SYSTEM_FLAGS['info']['title']['group']		= 'Название плагига';

То этому плагину сможешь задавать название, но оно уже будет постоянным.

Вне форума

#18 2009-01-08 20:50:38

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

ROZARD, спасибо, что поддерживаешь тему, но речь не о том, что ты предлагаешь.
Аутлинк генерирует свои собственные <title>-лы для каждой статьи. Вот они-то и не отображаются при выводе каталога аутлинка, а выводятся <title>-лы самого движка. Поэтому вариант, который ты предложил, не подходит.

Вне форума

#19 2009-01-08 22:21:46

ROZARD
Модератор
Откуда: Россия, Астрахань
Здесь с 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Как натянуть дизайн движка на сторонний скрипт

Попробуй сделать так, после:

$SYSTEM_FLAGS['info']['title'] = array('group' => $matches[1]);

Добавить:

$SYSTEM_FLAGS['info']['title']['group']		= $matches[1];

Это скорее всего не правильно, но всё же попробуй так.;)

Вне форума

#20 2009-01-09 01:19:21

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Попробовал. Получилось так: "Название сайта :", т.е. пропало слово "Плагин".
Вариант не подходит...

Вне форума

#21 2009-01-10 13:20:05

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Как натянуть дизайн движка на сторонний скрипт

Oleg, я правильно понимаю, что ты хочешь выставлять свой заголовок даже в случае, когда outlinks не выдаёт заголовка?
В изначальной задаче такого не было smile

Замени:

 // Замена заголовка (если требуется)
 if (preg_match('#<index><h1[^>]*>(.+)</h1></index>#iS', $html, $matches))
 	$SYSTEM_FLAGS['info']['title'] = array('group' => $matches[1]);

на:

 // Замена заголовка (если требуется)
 if (preg_match('#<index><h1[^>]*>(.+)</h1></index>#iS', $html, $matches)) {
 	$SYSTEM_FLAGS['info']['title'] = array('group' => $matches[1]);
 } else {
 	$SYSTEM_FLAGS['info']['title'] = array('group' => 'Каталог OutLINKS');
 }

При необходимости можешь заменить текст [font=Courier]Каталог OutLINKS[/font] на нужный тебе.

Вне форума

#22 2009-01-11 10:55:39

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

Виталь, outlinks у меня не выдаёт свои (outlinks-а) заголовки, вот, о чем я говорю.

Вне форума

#23 2009-01-11 11:10:55

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Как натянуть дизайн движка на сторонний скрипт

Oleg, но это же проблема outlink'а, верно?
Или я чего-то недопонимаю?

Опиши детально проблему.
В том скрипте, который предоставляется outlink'ом, мы видим, что они делают подмену заголовков (title страницы) в случае, если этот заголовок приходит в спец-теге от outlink'а.
Т.е. логично предположить, что они эти заголовки выдают... во всяком случае тогда, когда считают это нужным.

Вне форума

#24 2009-01-11 15:24:27

Oleg
Участник
Здесь с 2008-10-25
Сообщений: 32
Рейтинг :   

Re: Как натянуть дизайн движка на сторонний скрипт

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

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.019 сек, 7 запросов выполнено - Использовано памяти: 620.27 Кбайт (Пик: 673.27 Кбайт) ]