Главная / категория «PHP-Fusion 7 коды бирж ссылок» / «PHP-Fusion: исправляем амперсенд в адресе веб-страницы с & на & для Sape и Linkfeed»
Амперсенд (или амперсанд) играет роль разделителя get-параметров в адресной строке запроса веб-страницы. Дело в том, что, в соответствиями с требованиями новых стандартов, амперсенд в адресе веб-страницы должен быть прописан не "&", а "&". Визуально в адресной строке браузера это выглядит одинаково, как "&". PHP-Fusion этих стандартов придерживается.
Скрипты Sape (Linkfeed) берут адрес страницы с "&" и ищут в базе соответствующие записи. А так как в базе вместо "&" стоят "&", то соответствия не находят и ссылок не выводят. Проблема решается небольшими поправками в скриптах sape.php (linkfeed.php).
Итак. Для linkfeed.php: У меня это в районе 150-й строки, находим такой фрагмент: if (array_key_exists($this->lc_request_uri, $this->lc_links) && is_array($this->lc_links[$this->lc_request_uri])) { $this->lc_links_page = $this->lc_links[$this->lc_request_uri]; } и добавляем прямо над ним строку: $this->lc_request_uri = str_replace ("amp;", "", $this->lc_request_uri);//alipapa added
Для sape.php: в одном файле это была 393-я строка, в другом - 432-я. Надо найти следующие строки: function set_data($data) { $this->_links = $data; И сразу под ними вставить: $this->_request_uri = str_replace ("amp;", "", $this->_request_uri);//alipapa added
Теперь, когда из копии адресной строки удалены дополнительные "amp;", все ссылки размещаются, ошибки исчезают. Успешной вам торговли!
автор Alipapa. May 07 2010
Создан: 13.09.2013 18:44:44. Изменён: 20.07.2018 02:08:00. Reads: 751. |
|