Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Контекстные ссылки и все, что с ними связано (http://forum.sape.ru/forumdisplay.php?f=28)
-   -   Плагин для MODx (http://forum.sape.ru/showthread.php?t=16031)

vasiliypupkin 30.07.2008 12:45

Плагин для MODx
 
Потребовалось разместить контекстные ссылки на сайте, который управляется MODx. Поиск по форуму ничего хорошего не дал, сплошные вопросы на эту тему, пришлось писать самому.

Итак, плагин для MODx, позволяющий размещать контекстные ссылки.
Последовательность действий:

1) В админ-панели MODx выбираем: Ресуры -> Управление ресурсами -> Плагины -> Создать плагин

2) Название плагину придумайте сами, например: sape_context. Код плагина следующий:
PHP код:

if (!defined('_SAPE_USER')){
        
define('_SAPE_USER''_ваш_хеш_код_'); 
}
require_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'); 
$sape_context = new SAPE_context();

$e = &$modx->Event;

switch(
$e->name) {
  case 
'OnLoadWebDocument':
    
$content $modx->documentObject['content'];
    
$content $sape_context->replace_in_text_segment($text);
    
$modx->documentObject['content'] = $content;
    break;

  default:
    return;
    break;


3) Во вкладке "Системные события" поставить галочку напротив Template Service Events -> OnLoadWebDocument

4) Сохранить плагин.

Всё) Проверено на живом сайте - всё работает отлично.
Надеюсь, кому-то поможет.

flashua 20.08.2008 13:51

Спасибо за то, что выложили плагин. Думаю его ждало немало людей. Но к сожалению, у меня он не работает. У меня просто пропадает контент.

Добавлено через 12 часов 50 минут
Разобрался в чем было дело.
Цитата:

if (!defined('_SAPE_USER')){
define('_SAPE_USER', '_ваш_хеш_код_');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape_context = new SAPE_context();

$e = &$modx->Event;

switch($e->name) {
case 'OnLoadWebDocument':
$content = $modx->documentObject['content'];
$content = $sape_context->replace_in_text_segment($content);
$modx->documentObject['content'] = $content;
break;

default:
return;
break;
}
Вместо переменной $text нужно просто поставить $content.
Спасибо вам за плагин, наконец я смогу продавать контекстные ссылки. :)

mmv2809 19.09.2012 23:03

приятно видеть решение, вот только я не знаю как использовать данный плагин, где будут выводиться ссылки на странице?

zhegloff 20.09.2012 09:54

Цитата:

Сообщение от mmv2809 (Сообщение 1275541)
где будут выводиться ссылки на странице?

в вашем контенте.

mmv2809 27.09.2012 17:01

Цитата:

Сообщение от zhegloff (Сообщение 1275604)
в вашем контенте.

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

Denis7 05.10.2012 09:08

sape говорит что код не установлен на странице

arscont 07.10.2012 09:35

Цитата:

Сообщение от Denis7 (Сообщение 1279792)
sape говорит что код не установлен на странице

На MODx коды Сапе и других автобирж устанавливаются без всяких мудреных плагинов. И прекрасно работают. Сохраните коды в виде сниппетов и вставляйте в нужные места в шаблоне.

Givi 22.09.2013 23:07

Цитата:

Сообщение от Denis7 (Сообщение 1279792)
sape говорит что код не установлен на странице

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

Baron_4iK 08.04.2014 17:23

Сайт управляется MODX Revolution 2.2.6-pl (advanced)

Все варианты уже перепробывал ничерта не выходит. При вставке сниппетов в таком формате [[SAPE]] страница не грузится, вернее грузится только пустая белая. Та же ситуация с плагином.
Вставлял и в index.php код и сниппеты создавал никакого результата.
Не сильно силен в программировании. Может кто поможет разобраться.
На хостинге сайт расположен: ИМЯ_ДОМЕНА/HTTP. Соответственно в эту паку я распаковывал архив. Может нужно не в эту папку а в папку ИМЯ_ДОМЕНА?

vagant 09.04.2014 00:06

Цитата:

Сообщение от Baron_4iK (Сообщение 1400223)
Сайт управляется MODX Revolution 2.2.6-pl (advanced)

Все варианты уже перепробывал ничерта не выходит. При вставке сниппетов в таком формате [[SAPE]] страница не грузится, вернее грузится только пустая белая. Та же ситуация с плагином.
Вставлял и в index.php код и сниппеты создавал никакого результата.
Не сильно силен в программировании. Может кто поможет разобраться.
На хостинге сайт расположен: ИМЯ_ДОМЕНА/HTTP. Соответственно в эту паку я распаковывал архив. Может нужно не в эту папку а в папку ИМЯ_ДОМЕНА?

Сниппет выводил кэшированным или нет?

Baron_4iK 09.04.2014 16:54

Писал и [[SAPE]] и [SAPE] и [[!SAPE]] и [!SAPE!] и [[!SAPE!]] [[$SAPE]] - так (через значок $) запускается чанк, если я правильно понял.

Короче перепробовал все что можно. В некоторых случаях запись вылезала на сайте, в некоторых ( [[$SAPE]] ) оно не выводилось на сайте и сайт открывался, но код не обнаружен пишет и хоть тресни.


В шаблоны просто добавил код <!--s_links--><!--check code--><!--/s_links--> и пока буду размещать все в ручную, пока проблема вставки кода не решится с вашей помощью.

arscont 12.04.2014 07:24

Цитата:

Сообщение от Baron_4iK (Сообщение 1400223)
Сайт управляется MODX Revolution 2.2.6-pl (advanced)

Все варианты уже перепробывал ничерта не выходит. При вставке сниппетов в таком формате [[SAPE]] страница не грузится, вернее грузится только пустая белая. Та же ситуация с плагином.
Вставлял и в index.php код и сниппеты создавал никакого результата.
Не сильно силен в программировании. Может кто поможет разобраться.
На хостинге сайт расположен: ИМЯ_ДОМЕНА/HTTP. Соответственно в эту паку я распаковывал архив. Может нужно не в эту папку а в папку ИМЯ_ДОМЕНА?


Если не уверены с путями (не можете с ними разобраться), тогда тупо поменяйте исходный код вызова сапы с такого:

PHP код:

<?php
     
if (!defined('_SAPE_USER')){
        
define('_SAPE_USER''ВАШ_ХЭШ_КОД');
     }
     require_once(
realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));
     
$sape = new SAPE_client();
?>


на такой:

PHP код:

<?php
     
require_once('http://ВАШ_ДОМЕН/ВАШ_ХЭШ_КОД/sape.php');
     
$sape = new SAPE_client();
?>

А содержимое архива сапы распакуйте в корень Вашего сайта.

Правда, при таком изменении код теряет универсальность, и на другом сайте его использовать нельзя. Надо будет снова переписать домен.

Добавлено через 4 минуты
Цитата:

Сообщение от Baron_4iK (Сообщение 1400644)
Писал и [[SAPE]] и [SAPE] и [[!SAPE]] и [!SAPE!] и [[!SAPE!]] [[$SAPE]]


Для MODX REVO правильно [[!SAPE]]
Для MODx EVO - [!SAPE!]

Dex 11.10.2023 02:55

проблема совсем в другом - Fenom конфликтует с вставляемым js счетчиком acint.net
Решение кроется в настройках самого счетчика (нужно его убрать из кода вставляемого автоматом и подключить вручную) - подробнее тут:
http://forum.sape.ru/showpost.php?p=1500511&postcount=2


Часовой пояс GMT +3, время: 01:33.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.