Как это сделать – читайте ниже.
Если вы до сих пор не знаете, что такое RSS и для чего этот формат создан, прочитайте эту статью из Википедии.
А по этому адресу вы можете найти полную спецификацию формата RSS на русском языке.
Читать запись полностью »
Вот над одной из ошибок в документации мне пришлось потрясти больше часа бубном. Речь идет о хелпере 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')); ?> |
Вот правильный пример использования этого метода:
1 2 3 4 5 6 | <?php echo $html->meta( 'rss', '/comments/index.rss', array('title' => 'Comments')); ?> |

Новые возможности
- Новый компонент Zend_Form с поддержкой AJAX-элементов.
- Новые помощники действий и вида для автоматизации и урощения обработки AJAX-запросов и альтернативных форматов ответов.
- Адаптеры аутентификации LDAP, Infocard и OpenID.
- Поддержка комплексных запросов Lucene, включая fuzzy, date-range и запросов wildcard;
- Поддержка формата файла индекса Lucene 2.1;
- Помощники вида Partial, Placeholder, Action и Header для расширеного составление скриптов видов и рендеринга.
- Ноый компонент Zend_Layout для автоматизации и урощения работы с версткой сайта.
- Поддержка UTF-8 в PDF-документах.
Замечания при обновлении со старых версий
- Если вы обновляете Zend Framework с выпуска 1.0 до 1.5 ZF, и используете в своих проектах Zend_Search_Lucene, вы должны знать, что теперь Zend_Search_Lucene работает исключительноно с форматом файла индекса Apache Lucene 2.1. Преобразование из старого формата (1.9) будет выполнено автоматически при первом обновлении индекса после установки Zend Framework 1.5. Это преобразование невозможно отменить. Сделайте резервную копию вашего индекса Lucene на случай если вы захотите вернуться к версии Zend Framework 1.0 и продолжить использовать этот индекс.
Как я уже недавно писал, мой любимый визуальній редактор – Spaw Editor от компании Solmetra.
А вот пример того, как можно написать плагин для Smarty для быстрой вставки редактора в тело страницы. Думаю, что комментировать код нет необходимости – тут и так все понятно. Кроме того, модифицировав всего пару строк, можно исключить Zend Framework, если ваш проект не использует его.
И еще: этот плагин писался под конкретный проект, поэтому в нем реализовано лишь то, что было необходимо мне. Вполне вероятно, что вам окажется недостаточно такой функциональности.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | <?php /** * Smarty plugin * @package Smarty * @subpackage plugins */ /** * Smarty {spaw} function plugin * * Type: function * Name: spaw * Date: Nov 11, 2007 * Purpose: automate creation Spaw Editor * Input: * - name = name of textarea, default - 'Text' * - value = default value * - lang = * - toolbarset * - theme * - width * - height * - stylesheet * - page_caption * Examples: * <pre> * {spaw} * {spaw name='Description' lang='en'} * * @version 1.0 * @author Kirill Pavliukov <kirill></kirill> * @param array * @param Smarty * @return string * @todo Spaw Pages */ function smarty_function_spaw($params, &$smarty) { if (!defined('WWW_DIR')) define('WWW_DIR',$_SERVER['DOCUMENT_ROOT']); $name = ((isset($params['name'])) ? $params['name'] : null); $value = ((isset($params['name'])) ? $params['value'] : ''); $lang = ((isset($params['lang'])) ? $params['lang'] : null); $toolbarset = ((isset($params['toolbarset'])) ? $params['toolbarset'] : ''); $theme = ((isset($params['theme'])) ? $params['theme'] : ''); $width = ((isset($params['width'])) ? $params['width'] : ''); $height = ((isset($params['height'])) ? $params['height'] : ''); $stylesheet = ((isset($params['stylesheet'])) ? $params['stylesheet'] : ''); $page_caption= ((isset($params['page_caption'])) ? $params['page_caption'] : ''); if ($name == null) $smarty->trigger_error('(SPAW) Parameter `Name` must be specified'); if ($lang == null) { $front = Zend_Controller_Front::getInstance(); $lang = $front->getRequest()->getParam('language'); } $pages = ((isset($params['pages'])) ? $params['pages'] : null); if ($name == '') $name = 'Text'; require_once(WWW_DIR . 'spaw2/spaw.inc.php'); $spaw = new SpawEditor($name, $value, $lang, $toolbarset, $theme, $width, $height, $stylesheet, $page_caption); if ($pages) { $pages = split(';',$pages); foreach ($pages as &$page) { $page = split('::',$page); if (!isset($page[0]) or empty($page[0])) $smarty->trigger_error('(SPAW) Page name myst be specified!'); if (!isset($page[1]) or empty($page[1])) $smarty->trigger_error('(SPAW) Page caption myst be specified!'); if (!isset($page[2])) $page[2] = ''; if (!isset($page[3])) $page[3] = 'ltr'; $spawPage = new SpawEditorPage($page[0],$page[1],$page[2],$page[3]); $spaw->addPage($spawPage); } } $spaw->show(); } ?> |
-
до 2005 года в информационном пространстве Украины свирепствовала цензура;
-
начиная с 2006 года давление на СМИ уменьшилось в разы.
Напомню, что изначально ее проведение планировалось на октябрь 2007 года, но потом организаторы перенесли ее на март 2008.
: от дизайна, до репликации, от новинок до перспектив.
-
до 26 марта 200 вечнозеленых или 1000 хохлоденег;
-
непосредственно перед конференцией – 1100 грн.
Шаблоны проектирования (паттерн, pattern) – это эффективные способы решения характерных задач проектирования, в частности проектирования компьютерных программ. Паттерн не является законченным образцом проекта, который может быть прямо преобразован в код, скорее это описание или образец для того, как решить задачу, таким образом, чтобы это можно было использовать в различных ситуациях. Объектно-ориентированные шаблоны зачастую показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. Алгоритмы не рассматриваются как шаблоны, так как они решают задачи вычисления, а не проектирования.
Шаблоны проектирования – это способ сэкономить время разработчика на выдумывание «велосипедов». Паттерны являются своего рода описанием того, как можно решить типичные задачи при проектировании приложений.
1 2 3 4 | auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/users<br/> auth_param basic children 5<br/> auth_param basic realm Squid proxy-caching web server<br/> auth_param basic credentialsttl 2 hours |
1 | http_access allow all |
1 2 3 | acl users proxy_auth REQUIRED<br/> http_access allow users<br/> http_access deny all |
1 2 3 4 | s1# htpasswd -c /usr/local/etc/squid/users kirill<br/> New password: *****<br/> Re-type new password: *****<br/> Adding password for user kirill |
1 2 3 4 | s1# htpasswd /usr/local/etc/squid/users kirill<br/> New password: *****<br/> Re-type new password: *****<br/> Adding password for user kirill |
1 2 | s1# cat /usr/local/etc/squid/users<br/> kirill:0Q2rNA.AEfZOk |
1 | squid -k reconfigure |

Свежие комментарии