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

Аватар пользователя makartsoft

Перешел на 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 байта
Ключевые слова:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя VladSavitsky
VladSavitsky 8 лет назад

А зачем модуль, если можно код в блок вставить и разместить где угодно и как угодно?!..

Аватар пользователя Geldora
Geldora 8 лет назад

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

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

Аватар пользователя makartsoft
makartsoft 8 лет назад

Да, на 5 есть, и очень хороший. На 6 не мог найти. Вот и выложил для тех, кто тоже будет искать :-)

Аватар пользователя B.X
B.X 8 лет назад

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

Аватар пользователя Said
Said 8 лет назад

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

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

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

Аватар пользователя Said
Said 8 лет назад

одинаковые проблемы что с модулем предложенным вами и 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 8 лет назад

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

Аватар пользователя Макс74
Макс74 8 лет назад

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

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 8 лет назад

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

Аватар пользователя Geldora
Geldora 8 лет назад
Макс74 написал:
«В его модуле выдаёт ошибку

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 - из-за этого ошибка и белый экран.

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

Аватар пользователя makartsoft
makartsoft 8 лет назад

Изменил $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 8 лет назад

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

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

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

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

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

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

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

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

Аватар пользователя makartsoft
makartsoft 8 лет назад

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

Аватар пользователя Skirr
Skirr 8 лет назад

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

Аватар пользователя makartsoft
makartsoft 8 лет назад

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

Аватар пользователя Skirr
Skirr 8 лет назад

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

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

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

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

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

Вот о чём я :)

Аватар пользователя kadut
kadut 8 лет назад

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

<?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 8 лет назад

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

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

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

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

Аватар пользователя PVasili
PVasili 8 лет назад

<?php<div id="block-<?php print 'adv-'?> в теме точно скроет блок ;)

Аватар пользователя makartsoft
makartsoft 8 лет назад
kadut написал:

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

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

Аватар пользователя Serg_M
Serg_M 7 лет назад

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

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

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

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

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

Аватар пользователя skorpio
skorpio 7 лет назад

Настроил все правильно и права дал 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 и его настройку позабыл. Помогите пожалуйста

Аватар пользователя alexandr.poddubsky
alexandr.poddubsky 7 лет назад

контекстные линки для сапы кто использует?

Аватар пользователя makartsoft
makartsoft 7 лет назад
skorpio написал:
Настроил все правильно и права дал 777 , а Drupal выводит ошибку

Обновил описание, читайте

Аватар пользователя skorpio
skorpio 7 лет назад

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

Аватар пользователя makartsoft
makartsoft 7 лет назад
skorpio написал:
виновато ядро 6.14

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

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

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

skorpio написал:
Fatal error: Call to a member function return_links()
Аватар пользователя skorpio
skorpio 7 лет назад

Спасибо большое!!!

Аватар пользователя Skirr
Skirr 7 лет назад

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

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

Аватар пользователя skorpio
skorpio 7 лет назад

Ничего менять не нужно, все будет работать если сделаете как сказал makartsoft, и все будет работать

Аватар пользователя Skirr
Skirr 7 лет назад

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

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

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

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

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

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

Аватар пользователя kadut
kadut 7 лет назад

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

Аватар пользователя Виктор Степаньков ака RxB

135 тысяч нод.
~200 000 терминов
<div class="dev-query">Executed 42 queries in 7.13 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are <span class="marker">highlighted</span>. Page execution time was 151.95 ms.</div>

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

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

Аватар пользователя LadyAnna
LadyAnna 7 лет назад

Прошу прощения, это модуль для контекстной рекламы?

Аватар пользователя LadyAnna
LadyAnna 7 лет назад

Прошу прощения, это модуль для контекстной рекламы?

Аватар пользователя LadyAnna
LadyAnna 7 лет назад

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

Аватар пользователя Reitan
Reitan 7 лет назад

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