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

Чт, 16/04/2009 - 12: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

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

0 Спасибо

Комментарии

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

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

0 Спасибо
Аватар пользователя Geldora
8 лет 1 month назад Geldora #

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

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

0 Спасибо
Аватар пользователя makartsoft
8 лет 1 month назад makartsoft #

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

0 Спасибо
Аватар пользователя B.X
8 лет 1 month назад B.X #

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

0 Спасибо
Аватар пользователя Said
8 лет 1 month назад Said #

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

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

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

0 Спасибо
Аватар пользователя Said
8 лет 1 month назад Said #

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

0 Спасибо
Аватар пользователя FeliXXX
7 лет 12 months назад FeliXXX #

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

0 Спасибо
Аватар пользователя Макс74
7 лет 10 months назад Макс74 #

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

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

0 Спасибо
Аватар пользователя Макс74
7 лет 10 months назад Макс74 #

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

0 Спасибо
Аватар пользователя Geldora
7 лет 10 months назад Geldora #
Макс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 - из-за этого ошибка и белый экран.

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

0 Спасибо
Аватар пользователя makartsoft
7 лет 8 months назад makartsoft #

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

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

0 Спасибо
Аватар пользователя Skirr
7 лет 8 months назад Skirr #

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

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

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

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

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

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

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

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

0 Спасибо
Аватар пользователя makartsoft
7 лет 8 months назад makartsoft #

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

0 Спасибо
Аватар пользователя Skirr
7 лет 7 months назад Skirr #

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

0 Спасибо
Аватар пользователя makartsoft
7 лет 7 months назад makartsoft #

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

0 Спасибо
Аватар пользователя Skirr
7 лет 7 months назад Skirr #

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

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

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

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

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

Вот о чём я :)

0 Спасибо
Аватар пользователя kadut
7 лет 7 months назад kadut #

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

<?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 в правой колонке внизу. Объясните, пожалуйста. Напишите только как для чайника: какие коды куда вставлять плиз.

0 Спасибо
Аватар пользователя kadut
7 лет 7 months назад kadut #

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

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

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

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

0 Спасибо
Аватар пользователя PVasili
7 лет 6 months назад PVasili #

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

0 Спасибо
Аватар пользователя makartsoft
7 лет 6 months назад makartsoft #
kadut написал:

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

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

0 Спасибо
Аватар пользователя Serg_M
7 лет 6 months назад Serg_M #

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

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

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

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

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

0 Спасибо
Аватар пользователя skorpio
7 лет 5 months назад skorpio #

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

0 Спасибо
Аватар пользователя alexandr.poddubsky
7 лет 5 months назад alexandr.poddubsky #

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

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

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

0 Спасибо
Аватар пользователя skorpio
7 лет 5 months назад skorpio #

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

0 Спасибо
Аватар пользователя makartsoft
7 лет 5 months назад makartsoft #
skorpio написал:
виновато ядро 6.14

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

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

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

skorpio написал:
Fatal error: Call to a member function return_links()

0 Спасибо
Аватар пользователя skorpio
7 лет 5 months назад skorpio #

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

0 Спасибо
Аватар пользователя Skirr
7 лет 4 months назад Skirr #

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

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

0 Спасибо
Аватар пользователя skorpio
7 лет 4 months назад skorpio #

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

0 Спасибо
Аватар пользователя Skirr
7 лет 4 months назад Skirr #

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

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

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

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

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

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

0 Спасибо
Аватар пользователя kadut
7 лет 2 months назад kadut #

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

0 Спасибо
Аватар пользователя Виктор Степаньков ака RxB
7 лет 2 months назад Виктор Степаньк... #

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>

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

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

0 Спасибо
Аватар пользователя LadyAnna
6 лет 9 months назад LadyAnna #

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

0 Спасибо
Аватар пользователя LadyAnna
6 лет 9 months назад LadyAnna #

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

0 Спасибо
Аватар пользователя LadyAnna
6 лет 9 months назад LadyAnna #

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

0 Спасибо
Аватар пользователя Reitan
6 лет 8 months назад Reitan #

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

0 Спасибо