Добавление ссылки на RSS-канал (тег ) в шапке страницы в CakePHP 1.2 | Кирилл Павлюков
Гугл жжот?! Фото Как создать RSS-канал в CakePHP 1.2
Мар 21

Когда я начал писать очередной проект, в качестве платформы выбрал фреймворк CakePHP 1.2. Но позже пришлось об этом несколько раз пожалеть. Проблема крылась в том, что новая версия, хоть и называется beta2, просто кошмарно документирована. Некоторые разделы в руководстве вообще не написаны, некоторые - написаны с ошибками.
Вот над одной из ошибок в документации мне пришлось потрясти больше часа бубном. Речь идет о хелпере HTML и его методе meta(). Судя по руководству, одна из функций этого метода - добавление тега <link> для RSS-каналов. Эта ссылка указывает всякого рода поисковикам и браузерам на то, что контент сайта доступен в альтернативном оформлении (в виде RSS-потока).
Вот пример из официальной документации по CakePHP версии 1.2, который вы можете :

1
2
3
4
5
6
<?php
echo $html->meta(
    'Comments',
    '/comments/index.rss',
    array('type' => 'rss'));
?>

Но этот пример в реальности (в самом последнем snapshot CakePHP 1.2) работал совсем не так, как нужно.

Как я и говорил, пришлось потратить больше часа на танцы с бубном, но проблема не решалась. Пришлось лезть в исходный код фреймворка, чтобы понять, почему метод работает не так, как ожидается. После небольшого исследования, стало понятно, что в текущем коде метода meta() был абсолютно изменен порядок принимаемых методом аргументов.
Вот правильный пример использования этого метода:

1
2
3
4
5
6
<?php
echo $html->meta(
    'rss',
    '/comments/index.rss',
    array('title' => 'Comments'));
?>

ЗЫ: Если кто не в курсе, то этот код нужно вставлять в верстку (layout) внутри тега <head>

Автор: Кирилл Павлюков \\ Метки: , ,

  1. Как создать RSS-канал в CakePHP | Кирилл Павлюков пишет:

    [...] Как добавить ссылку на RSS-канал в шапку страницы, я писал в прошлом посте. Оставить комментарий Comment [...]

  2. Начинаю новый проект на Zend Framework вместо CakePHP | Кирилл Павлюков пишет:

    [...] Мне НЕ понравилось, что CakePHP 1.2 за последнее время так и не вышел из стадии beta-тестирования. К тому же, документации по CakePHP 1.2 катастрофически не хватает, из-за чего приходится тратить много времени на изучение кода самого фреймворка, в то же время даже в официальной документации встречаются ошибки, о чем писал в недавней заметке. [...]


3 коммент. к “Добавление ссылки на RSS в шапке страницы в CakePHP 1.2”

  1. 1. Русский реп>>Блог копирайтера о музыке пишет:

    […] в свободное от seo и фотографии время, я пишу тут свои заметки о музыке и культуре, надеюсь для Вас это будет не лишним, а интересным […]

  2. 2. Денис Радченко пишет:

    Я не понимаю, чем meta(
    ‘rss’,
    ‘/comments/index.rss’,
    array(’title’ => ‘Comments’));
    ?> лучше <<link rel=»alternate» type=»application/rss+xml» href=»/comments/index.rss» title=»Comments» /&rt; ?

  3. 3. Рональд пишет:

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

Оставьте комментарий или два