Main > CMS | Sape | WebAsyst | Монетизация > WebAsyst и Sape. Правильный костыль!

WebAsyst и Sape. Правильный костыль!

14.02.2012 13 comments » Views: 4,322

WebAssyst

ВНИМАНИЕ! Руководство для версии 279, для остальных может не работать.

При установке по инструкции от меня, которая описана в статье "WebAsyst и Sape. Костыль", некоторые страницы начали выпадать в ошибки. Но при этом чек код, оставался на месте. Написал на форум сапы, там меня админ c логином Ank просвятил (за что ему огромный респект), в том что вывод чек кода, это не показатель корректной установки.

Тогда я понял, что бока у меня, сделал unserialize для links.db там было всё ок, тогда полез в sape.php и разобрал полностью формирование ссылок, в итоге оказалось, что некорректно отдается $_SERVER['REQUEST_URI'] . Связанно это с тем как вызывается файл голосований из прошлого костыля.

В общем, переделал по-новому, более умным способом.

Итак. Открываем /index.php

В самый верх, после

вставляем

Не забываем заменить: 0a32c139ce17e92514b4c05379818685, на свой код.

Теперь открываем шаблон:
/www/ваш_сайт/published/publicdata/НАЗВАНИЕ_БД/attachments/SC/themes/название_шаблона/index.html

и пишем в нужное место:

Теперь, еще один тонкий момент, из-за которого страницы выпадают в error. При переключении языка, sape берет ссылку с идентификатором языка, т.е.
/index.php?ukey=auxpage_1&did=198&lang_iso2=en
и хранит её в links.db именно с ним. А в webasyst'e реализована переадресация на флаг без идентификатора ссылки, т.е. при переходе по такой ссылке мы попадаем на страницу, вида:
/index.php?ukey=auxpage_1&did=198
Из-за этого, бот сапы и не видит её ( они для него разные ). Исправляется это так:

Открываем /ваш_идентификатор/sape.php
Теперь ищем класс class SAPE_client extends SAPE_base, а в нем функцию function set_data($data)
Находим код:

и заменяем его на такой

Таким образом, если ссылка не найдена, мы ищем её же с модификатором языка.

На этом установка завершена. И самое главное помните, перед внесением изменений, делайте копии всех файлов, дабы можно было откатиться назад. Либо доверяйте это дело специалистам 🙂

Вот тут http://www.shop-script.ru/support/help/php-in-templates.html есть мануал от шопскриптеров как включить php в шаблонах. Как все остальное у них, это делается через ж***, но, после включения, все костыли становятся не нужными.

Author: | Rating: 4/5 | Tags:

13 comments.

Write a comment
  1. Maksym Reply
    27.08.2013 в 10:59 am
    Понял. Спасибо!
    • Vitaliy Orlov Reply
      27.08.2013 в 11:03 am
      Пожалуйста! :D
  2. Maksym Reply
    20.08.2013 в 9:41 am
    Виталий, спасибо за мануал!
    Подскажи пожалуйста - все сделал как ты описал, но код отображается только на главной странице. На внутренних не хочет. В чем может быть проблема?
    • Vitaliy Orlov Reply
      25.08.2013 в 7:05 am
      Пожалуйста! Проблема может быть в следующем: этот рецепт для старой версии шопскрипта и в новой что-то поменялось. Если версия у тебя та же, то надо пробовать ставить брейкпоинты в скриптах и искать где именно выводятся страницы, после этого добавлять туда код. К сожалению, давно не использую эту версию, поэтому уже не могу по памяти подсказать, что именно и куда писать.
      • Maksym Reply
        26.08.2013 в 7:47 am
        Версия самая последняя и, наверное, из-за этого не работает.
        Не подскажешь пожалуйста как на новой версии заставить работать код сапы?
        • Vitaliy Orlov Reply
          27.08.2013 в 8:57 am
          К сожалению, я не работал с шопскриптом уже больше года и сейчас нет возможности посмотреть, а в вводить в заблуждение я тебя не хочу.

          Попробуй спросить тут:
          - http://forum.sape.ru/
          - http://forum.webasyst.ru/

          Если не найдешь ответа, создай проект на weblancer.net, со ставкой в 3-5$ и тебе все настроят и расскажут.
          Текст проекта можешь сделать примерно такой:

          Здравствуйте!
          Требуется установить код биржи Sape в движок WebAsyst ShopScript (версия x.x.x). После установки, рассказать мне как это было сделано.


          Я думаю, там сейчас все просто можно сделать, поэтому откликнутся много желающих тебе помочь.
  3. Vitaliy Orlov Reply
    28.08.2012 в 9:55 am
    p.s. только выбирай именно "Преобразовать в UTF-8 без BOM", а то, в этом же меню, есть ещё просто смена кодировки.
  4. Vitaliy Orlov Reply
    28.08.2012 в 9:51 am
    Ты сохранил, файл index.php в кодировке Windows-1251, тебе её надо поменять на UTF-8. Я не знаю в каком редакторе ты это делаешь, но допустим в Notepad++ (если у тебя его нет, скачай, это пару минут). Дальше открываешь в нем файлик index.php, потом выбираешь в верхнем меню:
    Кодировка>Преобразовать в UTF-8 без BOM
    сохраняешь файлик и потом его заменяешь у себя на сайте.
  5. Kibersolution Reply
    28.08.2012 в 7:30 am
    Хотел узнать, почему выдаются вопросительные знаки, вместо русских слов 'Пока нет партнеров"? В каком файле необходимо кодировку изменить?
    • Vitaliy Orlov Reply
      28.08.2012 в 7:45 am
      В index.php:
      if (!$_REQUEST['sape'] = $sape->return_links())
      $_REQUEST['sape']='Пока нет партнеров';
  6. Kibersolution Reply
    28.08.2012 в 9:35 am
    Очень прошу помочь чем сможете!
    В общем думаю не сочтете за рекламу, в последующем можете удалить ссылку http://kibersolution.ru/ а пока пройдя по ссылке обратите внимание, справа снизу указывается надпись "пока нет партнеров" но только в виде вопросительных знаков!
    Как сделать, чтобы отображалось русскими буквами, а не квакозябрами!?
    Код в /index.php стоит такой, и все что описанно в вашей статье, сделал:

    /* ^^^ SAPE START ^^^ */
    $_REQUEST['sape'] ='';
    if (!defined('_SAPE_USER')) define('_SAPE_USER', 'c629ad9a2ea81c791264be25f164b450'); // Устанавливаем id пользователя
    require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'); // подключаем класс сапы
    $sape = new SAPE_client(Array('charset'=>'UTF-8')); //создаем класс сапы
    if (!$_REQUEST['sape'] = $sape->return_links())
    $_REQUEST['sape']='Пока нет партнеров';
    unset($sape);
    /* ^^^ SAPE END ^^^ */

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>


Links to this post:
  1. Pingback from WebAsyst и SAPE. Костыль. « IT remarks 14.05.2012
  2. Pingback from WebAsyst и SAPE. Костыль. 13.07.2018