staleo |
|
---|---|
Здравствуйте, Никак не могу победить время, которое плагин RSS выводит тегом {RSS_ROW_DATE}. Сейчас выводится вот что: <pubDate>Tue, 21 Feb 2012 09:01:00 +0000</pubDate>, хотя в datas/config.php проставлено date_default_timezone_set('Europe/Moscow');, то есть вывод всего времени должен идти с корректировкой +0400. Он, собственно говоря, и выходит с такой корректировкой, например, в страницах, а в RSS — никак. Как тут поступить, не подскажете? Добавлено 19 часов спустя: Неужели нет решения? Ну откуда-то эти +0000 все же берутся же! |
|
This post was edited by staleo (2012-02-26 22:19, 13 years ago) |
Dayver |
|
||||||
---|---|---|---|---|---|---|---|
Наверное потому что в страницах дату генерит котовская функция
а в RSS не так(нативная пхп-шная)
Если заменить на
может случится щастье, а может и нет Pavlo Tkachenko aka Dayver
|
Trustmaster |
|
---|---|
Проблема несколько глубже. Cotonti использует временную зону GMT по умолчанию и не позволяет её изменять, поскольку все даты в базе хранятся именно в этой зоне. Смещение добавляется уже при отображении для каждого пользователя. Всё это замечательно работает, кроме date('r'), поскольку PHP не знает о временной зоне Cotonti. Приходится фиксить это вручную. Исправление уже на гите. May the Source be with you!
|
staleo |
|
---|---|
Спасибо, заработало! И не отходя от кассы: можно ли заставить RSS-овский .tpl подхватывать экстраполя? Мы за тикетом не постоим! Добавлено 2 дня спустя: В общем, всплыла еще одна большая засада. Мне вообще этот RSS-канал нужен исключительно для Яндекс.Новостей. Был сайт на Genoa, пока переводил на Сиену, Я.Новости выключили импорт с сайта. Ну ладно, думаю, потом обратимся, они включат назад. Все прекрасно заработало, проблема с часовым поясом решена, благодаря Дайверу и Трастмастеру. Пишу в Яндекс: подключайте, мол. А они: а почитайте наши новые требования к оформлению экспортного файла. Открываю требования и вижу:
Встречающиеся в тексте символы < > & ' " необходимо заменять на соответствующие элементы: Я нереально офигел от такой постановки вопроса. Ранее Я.Новости уже и так не удовлетворял самый простой задокументированный и старый как мир формат RSS-фида, и они заставляли туда пихать, например, этот свой дурацкий тег <yandex:full-text>. Поисковик должен сам подстраиваться под генераторов контента? Не, не слышал. Это пусть тупые Рамблер с Гуглом импортируют новости просто потому, что такие новости пишутся. А мы, Яндекс, — монстры рунета, а монстры рунета могут и не стесняться требовать в 2012 году экспортный файл. Ну да ладно, бог с ним с этим <yandex:full-text>, в конце концов мод RSS под Genoa был небольшой и на 2 минуты. Но сейчас! Сейчас Яндекс требует и элементы HTML-форматирования менять для экспортного файла. А у меня там, понятно, везде < /br> и все такое. И как с этим быть, я, откровенно говоря, не знаю абсолютно. У меня пока нет никакого другого решения, кроме как, — тс-с-с, — взять и от руки написать этот rss.php со всеми нужными тегами и всей фигней. Пусть они потом подключат, позаполнять файлик два-три дня, а потом бросить к чертовой матери. Но вдруг вы знаете, как сделать все красиво и автоматом? |
|
This post was edited by staleo (2012-02-26 22:20, 13 years ago) |
Dayver |
|
||
---|---|---|---|
Поскольку фид формируется посредством шаблона то не вижу никакой проблемы настоить его как только яндексу угодно. Если прочитать мануал по шаблонизатору http://www.cotonti.com/docs/ext/themes/cotemplate_statements то увидим раздел про Callbacks - тоесть внутри шаблона к переменной можно применить любую функцию .... ищем в мануале по пхп функцию которая делает из символов их в HTML сущности и ...... ииии все тока тс-с-с никому не расказывайте что все так просто что даже лезть в пхп файлы и что то хакать не нужно Добавлено вечность спустя: Кстати еще для просветления массам полезно знать что касательно ссылок то котовская функция cot_url умеет это делать(замену спец символов в их HTML сущности) автоматом если ее вызвать с 4-тым параметров равным true
Pavlo Tkachenko aka Dayver
|
|||
This post was edited by Dayver (2012-02-27 07:47, 13 years ago) |
esclkm |
|
---|---|
из собственного опыта: я вставляю все пользовательские функции в php файл темы оформления littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
staleo |
|
||||||
---|---|---|---|---|---|---|---|
Решил проблему так: в rss.php строку #253
поменял на
htmlspecialchars — это и есть функция, которая переводит все символы, которые могут быть интерпретированы как часть синтаксиса, в HTML-коды символов. Дайверу опять спасибо. :) Если я правильно понял, cot_convert_relative_urls конвертирует относительные урлы в абсолютные, а мне это не нужно, поэтому функцию выкинул. Кстати, а то, что текст новости называется RSS_ROW_DESCRIPTION — это точно не ошибка? А то можно спутать со названием поля DESC для страницы. Ну и опять к вопросу возвращусь: можно ли заставить RSS-овский .tpl подхватывать экстраполя? Дело в том, что Яндекс.Новости не хочет подсасывать картинки в тексте если они не вставлены в таком виде внутри <item>:
А это фигово. |
|||||||
This post was edited by staleo (2012-02-27 22:15, 13 years ago) |
Dayver |
|
---|---|
Хаки - нехорошо (при первом же обновлении поймете), все же лучше было бы использовать колбекa в шаблоне. А то что модуль RSS не знаком с экстраполями - уже упущение надо бы тикет забабахать Pavlo Tkachenko aka Dayver
|
|
This post was edited by Dayver (2012-02-28 00:41, 13 years ago) |
Trustmaster |
|
---|---|
RSS_ROW_DESCRIPTION - не ошибка, в RSS этот тег <description> называется. Вот то, что мы там по умолчанию htmlspecialchars не применяем - это ошибка. May the Source be with you!
|
staleo |
|
---|---|
В том-то и штука, что в <description> именно транслируется не весь текст новости, а ее лид, краткое саммари, а полный текст выводится в теге <fulltext>. А в .tpl {RSS_ROW_DESCRIPTION} выводит полный текст страницы. |
Trustmaster |
|
---|---|
В спецификации RSS нет ни единого упоминания <fulltext>. Обычно используется description + обрезка по more. May the Source be with you!
|
jcrush |
|
---|---|
Смотрю разговор о Я.новостях... можно кстати жестко зону прописать в файле рсс. SEO блог: http://blog.stfw.ru/
|