Ниже рассмотрим простой, но имхо нужный пример по реализации аналога timestampable в Doctrine2.
snippet
There are 10 posts tagged snippet (this is page 1 of 1).
Symfony2: аналог preExecute() для контроллера
Я думаю многих смущает отсутствие preExecute в стандартном контроллере Symfony2. Ниже я приведу возможное решение данного вопроса при помощи внедрения зависимости через Service Container (Оригинал подсмотрен у Szymon Szewczyk).
UPDATE 20 января 2012: статья обновлена в соответствии с современными реалиями SF 2.0.9 (фактически изменения коснулись именования тага и события)
Symfony2: выборка случайной записи при помощи Doctrine2 Repository
Я уже рассматривал в одной из прошлых статей случайные выборки (см.). Сейчас мы самым простым способом интегрируем получение случайной записи в Symfony2 проект при помощи Doctrine2 Repository.
Symfony: прячем фильтры в админ-генераторе
Фильтры в админ-генераторе штука хорошая, но всегда думаешь куда бы их пристроить на странице. Если полей в модели больше чем 3-5 это становится проблемой. Предлагаю вашему вниманию небольшой трюк по этому поводу. Нам потребуется JQuery, любимый редактор и немного терпения:
Symfony без слэша на хвосте
Часто-часто задаваемый вопрос в канале по symfony:
- как избавиться от слэша на конце URL
- почему DoctrineRouteCollection не принимает последний слэш
- и т.д. в том же духе
Так вот вам просто сниппет в помощь:
#to avoid trailing slash problem RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
Научной ценности сниппет не представляет, но вопрос действительно часто спрашиваемый ) Так что “ищите и обрящете” ))
Have fun!
Сниппет: загружаем переменные app.yml из CLI task в symfony
В ходе обсуждения в русскоязычном чате пользователей symfony возник вопрос о загрузке конфигурационных констант из app.yml в контексте CLI таска. Как правило, с теми классами, которые работают из-под приложения (frontend, backend или что там у вас), проблем не возникает. Не зависимо от того на каком уровне расположен app.yml, к нему можно получить доступ стандартными средствами через sfConfig::get()
.
В тасках же конфигурация уровня приложения не инициализируется, поэтому sfConfig::get('app_some_param')
будет возвращать NULL. Немного покопавшись в API родился такой сниппет-скелетон таска: Continue reading
Unescape для User flash message в symfony
Эскейпинг это конечно хорошо, но иногда надо таки вывести что-то без него. Ранее уже описывался способ вывода неэкранированных данных, но как выяснилось, для flash сообщений он не работает.
Рабочий вариант у меня получился таким:
<?php echo sfOutputEscaper::unescape( $sf_user->getFlash('notice') ) ?>
Используется такой вариант для вывода HTML кода в сообщении (например, чтобы быстро перейти куда-либо прямо из flash-сообщения).
Symfony snippet: partial для постраничной навигации (pagination)
Предлагаю вашему вниманию небольшой сниппет для повседневного применения в symfony 1.3 – 1.4.
Сниппет предназначен для отображения постраничной навигации по записям.
Сниппет: инициализация character_set и collation для Doctrine в Symfony
Для того чтобы Doctrine создавал таблицы в базе данных с правильным набором символов и collation (например utf8 и utf8_general_ci, а не latin1, используемый mysql по умолчанию (например)) необходимо выполнить простую инициализацию:
// config/ProjectConfiguration.class.php: public function configureDoctrine(Doctrine_Manager $manager) { $manager->setCharset( 'utf8' ); $manager->setCollate( 'utf8_unicode_ci' ); }
Спасибо Андрэю Дзягелю из русскоговорящего symfony-коммьюнити )
JQueryUI accordion и checkbox
Пока нет времени на “большую” и “полезную” статью, публикую небольшой сниппет.
Цель:
в jquery ui аккордеоне в шапке блока требуется разместить чекбокс и повесить на его onclick некий хэндлер.