Форум SAPE.RU

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

elia_ua 28.04.2013 21:08

В ожидании контекстных ссылок
 
Подключился к sape.ru две недели назад. :)
После индексирования решил добавить контекстные ссылки (сайт как раз "контентный" - http://carinfo.kiev.ua). Сайт на Drupal 5 (гусары, молчать!) и вроде все сделал как положено, но теги <sape_index>...</sape_index> все равно не вырезаются. До переиндексации еще 2+ недель, но если я код неправильно вставил, то опять пролечу на месяц? Или так и должно быть - до индексации теги не вырезаются?

elia_ua 04.05.2013 11:46

Неужели я первый в цари буду? :(

qkowlew 04.05.2013 11:54

1. Всё-таки что-то у вас там не так сделано.
2. К сожалению (по всем моим наблюдениям), сейчас контекстные ссылки покупаются очень и очень редко по сравнению с обычными. То есть отсутствие заявок на контекстные ссылки при наличии на обычные - нормально.

elia_ua 08.05.2013 12:59

А что я мог там сделать не так?

В шапку вместе с другими скриптами выводится этот код:

PHP код:

<?php
     
global $sape;
     if (!
defined('_SAPE_USER')){
        
define('_SAPE_USER''бла-бла-бла');
     }
     require_once(
realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));
     
$o['multi_site'] = true//Указывает скрипту наличие нескольких сайтов
     //$o['force_show_code'] = true;
     
$o['charset'] = 'UTF-8';
     
//$sape = new SAPE_client($o);

    
$sape_context = new SAPE_context($o);
    
ob_start(array(&$sape_context,'replace_in_page'));
?>

В page.tpl.php перед и после вывода $content стоит

PHP код:

<?php echo '<sape_index>'?>

          <?php print $content ?>

<?php echo '</sape_index>'?>

Результат посмотрите хотя бы в исходном коде страницы вот здесь - http://carinfo.kiev.ua/fuel/turbo

qkowlew 08.05.2013 15:12

Я бы сделал вот так (прямо в том месте, где выводится $content:
PHP код:

<?php
     
if (!defined('_SAPE_USER')){
        
define('_SAPE_USER''бла-бла-бла');
     }
     require_once(
realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));
     
$o['multi_site'] = true//Указывает скрипту наличие нескольких сайтов
     //$o['force_show_code'] = true;
     
$o['charset'] = 'UTF-8';
     
//$sape = new SAPE_client($o);
    
$sape_context = new SAPE_context($o);

    echo 
$sape_context->replace_in_text_segment($content);
 
?>


elia_ua 08.05.2013 16:16

Но ведь в инструкциях прямо написано:

Цитата:

Для корректной индексации страниц системой и для правильного отображения ссылок, в исходном коде тех страниц, на которых вы планируете размещать контекстные ссылки, добавьте в самое начало (до вывода тега body в результирующий html-документ) следующий код
Добавлено через 48 минут
Сделал, как ты предложил - весь код разместил непосредственно перед выводом $content - теги пропали из страницы... (Причем же читал соответствующую ветку http://forum.sape.ru/showthread.php?t=46633 , но там не у всех работало и т.д.)
Почему инструкция не исправлена?

qkowlew 08.05.2013 22:55

Цитата:

Сообщение от elia_ua (Сообщение 1335921)
Добавлено через 48 минут
Сделал, как ты предложил - весь код разместил непосредственно перед выводом $content - теги пропали из страницы... (Причем же читал соответствующую ветку http://forum.sape.ru/showthread.php?t=46633 , но там не у всех работало и т.д.)
Почему инструкция не исправлена?

Читайте инструкцию внимательнее.
Там описано ДВА способа.

Первый - с ob_start(array(&$sape_context,'replace_in_page'));
Второй - с $sape_context->replace_in_text_segment

Я привёл код для второго, так как в Вашем случае есть явная переменная $content, с которой можно работать функцией replace_in_text_segment.

Вы же начинали делать по первому методу, а его работоспособность зависит (по моим наблюдениям) от многих факторов. О чём в инструкции тоже сказано.

elia_ua 08.05.2013 23:01

Цитата:

Сообщение от qkowlew (Сообщение 1336091)
Читайте инструкцию внимательнее.
Там описано ДВА способа.

Первый - с ob_start(array(&$sape_context,'replace_in_page'));
Второй - с $sape_context->replace_in_text_segment

Я привёл код для второго, так как в Вашем случае есть явная переменная $content, с которой можно работать функцией replace_in_text_segment.

Вы же начинали делать по первому методу, а его работоспособность зависит (по моим наблюдениям) от многих факторов. О чём в инструкции тоже сказано.

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

qkowlew 09.05.2013 08:12

Цитата:

Сообщение от elia_ua (Сообщение 1336092)
В инструкции для обоих методов указано выводить в шапке страницы инициализирующий код. Я сделал так, как Вы указали (весь код в теле страницы), но первый вариант, когда текст обрамляется тегами. Но теги вырезываются только в случае, когда какая-то часть кода обязательно находится в шапке. У меня не было возможности (точнее времени) разобраться, но сейчас инициализирующий код полностью продублирован и в шапке и в теле - и вроде как работает...

Для второго метода при одном блоке текста совершенно не важно, где располагается инициализирующий код, "в шапке" или "рядом с вызовом функции", лишь бы по последовательности исполнения он оказывался до вызова $sape_context->replace_in_text_segment. Второму методу не требуется и добавления тегов <sape_index>.

Ни одному из методов не требуется дублирования инициализирующего кода. Если у Вас "работает" "дублированный" код - это значит, что в одном из двух мест он НЕ работает.

elia_ua 24.05.2013 10:23

Цитата:

Сообщение от qkowlew (Сообщение 1336126)
Ни одному из методов не требуется дублирования инициализирующего кода. Если у Вас "работает" "дублированный" код - это значит, что в одном из двух мест он НЕ работает.

Логично. Но я так и не понял причины. + у меня есть непонятные глюки с областями видимости переменных. Чтение php.net не помогло - пока забил.
Но САПА код для размещения контекстных ссылок видит...


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

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