[РЕШЕНО] Sape модуль для Drupal 6

Главные вкладки

Аватар пользователя makartsoft makartsoft 16 апреля 2009 в 16:00

Перешел на 6, и встал вопрос о модуле для Сапы. ТАк как тут не нашел, то решил выложить здесь, мало-ли кому пригодиться.

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

Изменил $sape = new SAPE_client(); в итоге стало:
$o['fetch_remote_type'] = 'socket'; (или curl)
$sape = new SAPE_client($o);
$o['multi_site'] = true;
unset($o);

Модуль теперь работает в мультисайтинге. А кроме того, исчезает ошибка links.db (которая постоянно сбрасывалась к 240b).

Прикрепил также файлик блока для вашей темы, чтобы убрать упоминание Сапы со страницы.

Внимание!

Прежде чем устанавливать модуль, удалите любое упоминание sape из своей БД. Если не удалите, то будете получать ошибку типа «PHP Fatal error: Call to a member function return_links() on a»

И к тому же, НЕ НАДО качать тот архив, который предлагает вам Сапа, и тем более не надо устанавливать права 777.

Просто качаем модуль и кладем его в sites/all/modules/. В итоге получаем sites/all/modules/sape/sape.php

Далее в настройках указываем нужное количество блоков, в блоках количество ссылок и прочие.

ВложениеРазмер
Иконка пакета sape 6x-2.0.zip8.12 КБ
Иконка пакета block-sape.tpl_.zip282 байта

Комментарии

Аватар пользователя Geldora Geldora 16 апреля 2009 в 19:13

Вы не правы - здесь модуль тоже есть: поиск по слову модуль Sape вам поможет

Хотя возможно, я не права - если у вас другой модуль.

Аватар пользователя B.X B.X 16 апреля 2009 в 19:24

Дело в том, что Друпал 6 выгодно отличается от 5-го тем, что если ничего не выводится, то и блок не появляется, поэтому модуль для 6-й версии практически не нужен... но, конечно, только тем, кто понимает, что и как и куда вставлять...

Аватар пользователя Said Said 21 апреля 2009 в 6:18

D 6.10 после установки модуля и активации блока появляется белый экран. "Внутренняя ошибка сервера"
В чём может быть причина и как проблему решить?

Аватар пользователя makartsoft makartsoft 22 апреля 2009 в 12:02

Said wrote:
D 6.10 после установки модуля и активации блока появляется белый экран. "Внутренняя ошибка сервера"
В чём может быть причина и как проблему решить?

Странно, у меня на 6.10 встало без проблем

Аватар пользователя Said Said 22 апреля 2009 в 16:28

одинаковые проблемы что с модулем предложенным вами и itartweb
http://www.drupal.ru/comment/reply/20955/131992 (ссылка на его модуль)

В его модуле выдаёт ошибку

PHP Fatal error: Call to a member function return_links() on a
non-object

..../modules/sape/sape.module on line 140

Аватар пользователя FeliXXX FeliXXX 1 июня 2009 в 21:03

Господа, все установил, все прошло успешно, код валидный, ошибок нет. Но вот в чем проблема - распознает только главную страницу и все, хотя на сайте страниц около 300. В чем может быть проблема???

Аватар пользователя Макс74 Макс74 25 июля 2009 в 20:06

«В его модуле выдаёт ошибку

PHP Fatal error: Call to a member function return_links() on a
non-object

..../modules/sape/sape.module on line 140»

Похоже не может найти sape.php, как вариант, удаляем эту строчку временно в файле sape.module (140вую), включаем модуль, и настраиваем свой путь к sape.php далее ставим строчку на место, и все работает

Аватар пользователя Макс74 Макс74 25 июля 2009 в 20:17

FeliXXX, куширование блоков лучше отключить через модуль blockcache_alter,
либо как вариант у вас в яндексе страниц только одна проиндексирована

Аватар пользователя Geldora Geldora 27 июля 2009 в 11:16

"Макс74" wrote:
«В его модуле выдаёт ошибку

PHP Fatal error: Call to a member function return_links() on a
non-object

..../modules/sape/sape.module on line 140»

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

У меня было, когда при переносе, сайт стал главным в мультисайтинге - изменились папки sites/all/modules на sites/site/modules - из-за этого ошибка и белый экран.

Кстати, если в базе отключить модули или изменить тему для Админки, то можно получить доступ к настройкам и все поправить Smile

Аватар пользователя makartsoft makartsoft 26 сентября 2009 в 5:06

Изменил $sape = new SAPE_client();
на:
$o['fetch_remote_type'] = 'socket';
$sape = new SAPE_client($o);
$o['multi_site'] = true;
unset($o);

Модуль теперь работает в мультисайтинге. А кроме того, исчезает ошибка links.db (которая постоянно сбрасывалась к 240b).

Аватар пользователя Skirr Skirr 3 октября 2009 в 22:58

А я вот что-то запутался для чего этот модуль.
На сапе.ру требуют скопировать папку с кодом в корень сайта. Там есть сапе.пхп
Ну и далее вставлять код туда, сюда Smile

В этом модуле тоже присутствует сапе.пхп
И в настройках модуля первом делом бросается путь к файлу в модуле.

Вопрос по установке модуля:

Закачал, заинсталил, в настройках вписал код и включил сапу.

А что делать с папкой-кодом, которую сапа рекомендует? Они друг с другом конфликтовать небудут?

И далее нужно вписывать код в блоки и page.tpl, как указано на сапе.ру?

Тогда зачем модуль?

Разжуйте пожалуйста.

Аватар пользователя makartsoft makartsoft 4 октября 2009 в 11:00

Skirr, та папка, которую рекомендует сапа - вообще не нужна. Ни блоках ни в странице ничего прописывать не надо. За вас это делает модуль.
Устанавливаете модуль в /sites/all/modules/, включаете, появляется пункт Сапы в админке.
Там вводите свой уникальный код. У вас должно появится несколько блоков, которые вы размещаете где хотите.
Всё.

Аватар пользователя Skirr Skirr 6 октября 2009 в 15:24

Да, в таком случае замечательный модуль. Жаль нет опции для субдоменов. Что бы можно было их считать как часть домена, или как сейчас отдельным сайтом. А то у сапы очень сложный подход к ним Smile

Аватар пользователя makartsoft makartsoft 7 октября 2009 в 1:22

Модуль отлично работает с субдоменами и с алиасами Smile
Поддомен (домен 3-го уровня) допускается в систему в случае наличия в Яндекс-Каталоге, или отсутствия основного (домена 2-го уровня) в системе. Более одного поддомена домена второго уровня допускается только при наличии вновь добавляемых поддоменов в Яндекс-Каталоге.

Аватар пользователя Skirr Skirr 7 октября 2009 в 12:50

Да, об этом я и говорю. Вот у меня к примеру основной контент на субдоменах (3й уровень), когда сам домен собирает с них контент. Но сайт молодой, и посещений на каждом не более 100 в сутки. Это конечно ничтожно мало в том числе и для каталога-яндекса который требует 300 на каждый.

Так вот, при подключение модуля, у меня все субдомены автоматом получают свои links.db (и кстати даже получили те субдомены, которых уже год как нет в природе, но это уже не столь важно).

При таком подходе, содержимое на субдоменах появится в системе только после попадания в яндекс-каталог (а это минимум 3 месяца).

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

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

Вот о чём я Smile

Аватар пользователя kadut kadut 31 октября 2009 в 22:18

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

<?php
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'бла-бла');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

$sape = new SAPE_client();
iconv_set_encoding("output_encoding", "UTF-8");
print iconv("WINDOWS-1251","UTF-8", $sape->return_links(1));

?>

Но, как я понял, этот вариант только для того, чтобы ссылки отображались все вместе в одном блоке? При копировании этого кода и манипуляциями с ним ничего путного не выходит - появляется несколько блоков с одинаковыми ссылками.

А как сделать в такой ситуации: есть, например 6 ссылок на странице проданных мной, нужно 3 ссылки разместить в блоке в левой колонке наверху, оставшиеся 3 в правой колонке внизу. Объясните, пожалуйста. Напишите только как для чайника: какие коды куда вставлять плиз.

Аватар пользователя kadut kadut 31 октября 2009 в 22:24

Далее по модулю вопрос:
установил, но чтобы он заработал приходится файл links.db переименовывать в мойсайт.com.links.db ну это не проблема.

Подскажите, пожалуйста, всё работает, только 2 проблемки:

1)вместо русских букв символы в виде вопросов - как можно исправить?

2) при добавлении block-sape.tpl в папку темы название блока не исчезает.

Аватар пользователя makartsoft makartsoft 17 ноября 2009 в 18:41

"kadut" wrote:

Вариантов вставки кода множество, и они тут описаны везде. Я предлагаю свой вариант и не факт, что он лучший.

Что касается ваших вопросов:
1. Посмотрите кодировку
2. Убрать название блока можно вставкой none. А тот патч что прилагается, влияет на другой параметр )

Аватар пользователя Serg_M Serg_M 24 ноября 2009 в 19:57

makartsoft - спасибо за модуль.

Первый раз устанавливал Sape на сайт и сразу был облом - зациклился на сообщении типа "Укажите страницу, где заведомо находится код..." Чего только ни делал... и писал код в блок и ставил по очереди 2 разных модуля. Потом плюнул и попробовал снова через пару дней этот модуль.

Все заработало, вот только настраивал модуль не как здесь написано, а:
1) создал папку код_сапы_хххххххххххххххххх в корневой директории и дал ей права 777
2) в настройках модуля "sape 6x-2.0" указал путь хххххххххххххххххх/sape.php

хз, но работает, может кому пригодится

P.S. А я так понял, для этого модуля не нужен доп-модуль, который будет отключать кэш блока?

Аватар пользователя skorpio skorpio 16 декабря 2009 в 23:40

Настроил все правильно и права дал 777 , а Drupal выводит ошибку
«Fatal error: Call to a member function return_links() on a non-object in /var/customers/webs/ivan/xtheme/www/sites/all/modules/sape 6x-2.0/sape.module on line 95»

Что делать, подскажите.
Если все получаеться то Sape говорит «Укажите полный УРЛ любой страницы сайта, на которой заведомо установлен код!»

Что делать и не знаю, 3 месяца занимался Wordpress`ом и про Drupal и его настройку позабыл. Помогите пожалуйста

Аватар пользователя skorpio skorpio 19 декабря 2009 в 18:10

На Форуме Сапе говорили , что это виновато ядро 6.14 , и если откатиться на старое ядро , то все будет норма.
В чем может быть проблема?

Аватар пользователя makartsoft makartsoft 20 декабря 2009 в 11:21

"skorpio" wrote:
виновато ядро 6.14

Если думаете что ядро, то ставьте 6.15 )

Попробуйте так. 1. Удалите модуль. 2. Откройте БД свою с помощью phpMyAdmin. 3. С помощью поиска найдите слова Sape и удалите их.

В большинстве случаев после этой процедуры пропадает эта ошибка:

"skorpio" wrote:
Fatal error: Call to a member function return_links()

Аватар пользователя Skirr Skirr 29 января 2010 в 6:41

«На Ваших сайтах в системе sape.ru до сих пор установлен код вывода ссылок самой старой версии. Мы рекомендуем Вам скачать из Вашего аккаунта обновленную версию. Как переустановить код Вы можете почитать в справке - http://help.sape.ru/sape/faq/1080»

Неподскажете что в модуле нужно изменить?

Аватар пользователя Skirr Skirr 29 января 2010 в 16:50

Да ошибки нет, просто Sape рекомендует :

«Обновление клиентского кода PHP

Для обновления клиентского код необходимо:

1) Скачать клиентский код расположенный по адресу http://www.sape.ru/get_user_files.php

2) Закачать обновленный sape.php в папку со старым клиентским кодом

3) Удалить старые links.db, words.db»

Аватар пользователя kadut kadut 9 марта 2010 в 5:19

Всё, я разобрался, как установить просто и быстро без всяких редактирований файлов или использования модуля. Всё делается сразу в блоках в админке друпала, подробная инструкция: http://www.drupal.ru/node/41350

Аватар пользователя rashaverak rashaverak 25 мая 2010 в 1:03

"makartsoft" wrote:
Прежде чем устанавливать модуль, удалите любое упоминание sape из своей БД. Если не удалите, то будете получать ошибку типа «PHP Fatal error: Call to a member function return_links() on a»

Я пофигачил удалил включения «sape» в таблице {variables} и ошибочка исчезла. Видать старые переменные мешались.

Аватар пользователя LadyAnna LadyAnna 17 августа 2010 в 16:33

Странно, почему же у меня контекстная реклама вместо обычных ссылок получилась? Вот, млин, тяжело ничего не знать)))

Аватар пользователя Reitan Reitan 24 сентября 2010 в 16:06

Поставил модуль "sape 6x-2.0", обычные ссылки работаю отлично, а контексные ссылки...
Такая вот проблема:
На обычных постах или страницах таксономии контексные ссылки продаються нормально, а на страницах сайта типа
http://мойсайт.ру/node?page=1
http://мойсайт.ру/node?page=2
http://мойсайт.ру/node?page=3
и так дальше, не отображаються...
В чем может быть проблема? я уже всю тему перерыл... пробывал брать в теги , безрезультатно...
может ктот встречался с такой проблемо?