Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Установка кода на различные движки (http://forum.sape.ru/forumdisplay.php?f=26)
-   -   О результате return_links() (http://forum.sape.ru/showthread.php?t=15603)

VolCh 15.07.2008 04:02

О результате return_links()
 
Понятно, что выводит она в случае если линки есть, когда нет - тоже понятно, в принципе. Хочу сделать так, чтобы если нет ссылки, то и не выводить пустой блок в котором она выводилась бы. Достаточно ли будет проверить вывод функции на тег <a> или параметр href, или могут быть какие-то подводные камни, например при проверке роботом системы?

И еще вопрос - указанные в настройках разделители ссылок в проверке размещения ссылок участвуют или я могу "распарсить" результат по разделителю в массив, например, и выводить как и где мне будет угодно (естественно от и до разделителя ничего не меняя)? Просто использование разделительного кода в моем движке идеологически неверно - я вызываю шаблон "таблицы" и указываю массивом какие строки выводить в таблице, причем шаблоны "таблиц" могут быть разными, одни, например, действительно таблицы, другие списки, третьи span'ы или div'ы, то есть универсального разделителя типа </td></tr><tr><td> или </ll><li> использовать не могу.

Добавлено через 13 минут
Второй вопрос снимается, в принципе если можно вызывать return_links(1) в цикле, то результат будет такой же, как и при "распарсиванию' по разделителю в массив.

А первый остается, если в результате есть что-то отличное от пустого места и нет тега <a>, то нужно ли выводить этот результат?

Wink 15.07.2008 06:09

Цитата:

Сообщение от VolCh (Сообщение 197098)
если в результате есть что-то отличное от пустого места и нет тега <a>, то нужно ли выводить этот результат?

$sape->return_links() выводить нужно в любом случае - во время переиндексации площадки функция возвращает комментарий с чек-кодом, по которому бот определяет наличие на странице установленного кода. Другой вопрос, что имеет смысл перед выводом проверять вхождение href и, если ссылок на странице нет, не оформлять вывод в виде блока, а давать просто echo. Примерно вот так:
PHP код:

$links $sape->return_links();
if (
ereg("href",$links)) 
{
    echo 
'<h3>Полезные ссылки</h3>';
    echo 
'<div class="sape_links">'.$links.'</div>';
}
else echo 
$links


Destroy 15.07.2008 06:57

if (strlen($links)>0)
{ ....
}

если ссылок нет, то $links=="", зачем ее выводить?

VolCh 15.07.2008 07:02

Чек-код, насколько я понимаю, возвращается только боту, обычные посетители и поисковики его ни при каком раскладе не увидят? В таком случае может можно просто анализировать выдал код что-то или нет? Если выдал что-то отличное от пробелов, то выдавать в блок (боту же все равно чек-код в блоке или нет), а если пусто или одни пробельные символы (может такое быть, или перед выдачей trim выполянется?), то вообще ничего не выводить?

И еще вопрос по чек-коду - если у меня, например, 3 блока по 2 ссылки, и я точно знаю, что 7 ссылок никогда продавать не буду, то return_links() без параметров в последнем обязательно вызывать или достаточно 3 раза по return_links(2)? То есть чек-код выводится перед первой ссылкой или после последней? (я не бот, посмотреть не могу :) ) Просто не хочется делать отдельный вид блока "последний", а если решу больше продавать, то просто еще блоков добавлю или константу 2 поменяю в коде.

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

Сообщение от Destroy (Сообщение 197130)
if (strlen($links)>0)
{ ....
}

если ссылок нет, то $links=="", зачем ее выводить?

там пробелы могут быть и \r\n теоретически

Destroy 15.07.2008 07:09

Цитата:

Сообщение от VolCh (Сообщение 197131)
там пробелы могут быть и \r\n теоретически

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

ЗЫ Чеккод не выводится ;)

RXL 15.07.2008 07:29

Цитата:

Сообщение от VolCh (Сообщение 197131)
И еще вопрос по чек-коду - если у меня, например, 3 блока по 2 ссылки, и я точно знаю, что 7 ссылок никогда продавать не буду, то return_links() без параметров в последнем обязательно вызывать или достаточно 3 раза по return_links(2)? То есть чек-код выводится перед первой ссылкой или после последней? (я не бот, посмотреть не могу :) ) Просто не хочется делать отдельный вид блока "последний", а если решу больше продавать, то просто еще блоков добавлю или константу 2 поменяю в коде.

Проснувшиеся слипы могут превысить ограничение. С одной стороны - это лишняя ссылка, а с другой - опасность слета других ссылок на странице по лимиту ВС. Кстати, где-то тут говорили, что теперь Сапа не дает таким слипам просыпаться.

Думаю, что полюбому правильнее делать места один в один. Жадность до добра не доводит.

Кстати, чек-код показывается всем, а не только сапе-боту.

Destroy 15.07.2008 07:46

Цитата:

Сообщение от RXL (Сообщение 197136)
Кстати, чек-код показывается всем, а не только сапе-боту.

Чтоб чеккод отображался нужно специально это настраивать (faq), при обычной продаже ссылок НЕТ никакого чеккода, иначе Яша всех бы уже давно попалил...

Wink 15.07.2008 07:46

Цитата:

Сообщение от VolCh (Сообщение 197131)
Чек-код, насколько я понимаю, возвращается только боту, обычные посетители и поисковики его ни при каком раскладе не увидят? В таком случае может можно просто анализировать выдал код что-то или нет?

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

Цитата:

Сообщение от VolCh (Сообщение 197131)
return_links() без параметров в последнем обязательно вызывать или достаточно 3 раза по return_links(2)

Если указано количество ссылок, то функция не возвращает чек-код. Так что вывод без параметров делать обязательно, причем последним.

RXL 15.07.2008 08:07

Цитата:

Сообщение от VolCh (Сообщение 197131)
Если указано количество ссылок, то функция не возвращает чек-код. Так что вывод без параметров делать обязательно, причем последним.

Ничего подобного. Передайте в конструктор сапы опцию force_show_code=true и посмотрите результат.

Wink 15.07.2008 08:40

Хм.. действительно. А в ранних версиях скрипта не выводил


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

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