:-)
  • Потребовалось мне сделать optgroup в виджете choice, и не просто так, а с условием. Если у объекта есть дочерние элементы - то он становится optgroup, а иначе его можно выбрать. За основу я взял sfWidgetFormDoctrineChoiceNestedSet, который можно взять из плагина sfDoctrineNestedSetPlugin. Я скопировал код, добавил в запрос условие:

    $query->addWhere('level = ?', 0);

    Это потому, что все, что ниже уровнем мы будем получать через getChildren. Иначе нам пришлось бы двигать итератор Doctrine_Collection, что более сложно, заумно, и вовсе у меня не получилось (next($objects) почему-то не дает эффекта).
    Сделать optgroup в choice совсем несложно, надо лишь сделать элемент массивом. Ну а что получилось собственно внутри поста.
    Читать дальше...

    Tags: , , ,

  • Бывает, что находишь какое-то решение в Гугле, а потом когда я сталкиваешься с похожей ситуацией - второй раз уже не можешь найти. Поэтому я буду записывать моменты, которые мне были полезны и могут понадобиться еще, будет что-то вроде рубрики Symfony tips.

    Как вообще убрать фильтры в admin generator?

    config:
      filter:
        class: false

    Как повесить иконку своему кастомному object_action?

    #sf_admin_container ul li.sf_admin_action_##ACTION_NAME## a
    {
      background: url(/images/icons/icon.png) no-repeat 0 0;
    }

    Как недопустить ввода пустой строки в админке?

    public function configure() {
        $this->validatorSchema['name']->setOption('trim', true);
    }

    Fatal error: Call to undefined function include_component()
    Вы, скорее всего, указали в settings.yml standart_helpers, и забыли добавить в список Partial.

    all: 
      .settings: 
        standard_helpers:       [I18N, Partial]

    Tags: , ,

  • Czechia18 июня исполнился год с момента нашей свадьбы, и это событие мы решили отметить поездкой в Чехию. Ехали, конечно же, в Прагу. В планах было посмотреть старый город, Влтаву (река, на которой стоит Прага), мосты, покушать чешской еды и попробовать чешское пиво в самой Чехии. И сейчас я вам расскажу как это было.
    Читать дальше...

    Tags:

  • Мне потребовалось сделать мультиязычный сайт аж на 5 языках. В целом тут нет ничего сложного, кроме того, что пользователю надо будет заполнять 5 форм на разных языках. Логичный вывод - сделать обязательным только один язык, например английский. Остальные заполняются по желанию, а для незаполненных показывается на том же английском. Промучившись некоторое время с рецептами от Календаря Адвента, и не добившись успеха, я нашел пост [Optional translation form for I18n objects with Symfony and Doctrine], который мне помог. Я считаю, что полезным будет сделать его перевод. Так же я добавлю некоторые свои комментарии. (Перевод вольный, эстеты идут лесом) Читать дальше...

    Tags: , , ,

  • Когда речь идет о Германии, очень часто всплывает восхищение немецкими железными дорогами, мол быстро, комфортно. На картинках красивые поезда, довольные немецкие лица. И знаете что я скажу.. чистая правда! РЖД против DB, это как запорожец против мерседеса.

    Читать дальше...

    Tags: ,

  • Python 27.04.2010 No Comments

    В этом блоге почти все время я писал о PHP и немного о JS. Настало время разнообразить, и разнообразить свой блог я решил Питоном. О том, где взять Python и где поучиться я не буду, материалов полно, и большинство друг друга повторяют, в еще одном от меня смысла я не вижу. Чуть меньше примеров и статей про PyGame - свободную графическую библиотеку, базирующуюся на SDL.

    Читать дальше...

    Tags: , ,

  • Немецкий язык не так уж и прост. По мне так сложнее английского раза в два. В английском основная сложность - времена, остальные приколы типа непрямой речи и past perfect не так важны для общения. В немецком же есть окончания (вот вы по-русски говорите и не задумываетесь об окончаниях. А это на самом деле большая сложность для остальных), в немецком языке есть падежи, от которых зависит как будет выглядеть артикль, в немецком языке есть разделение по рода (мужской/женский/средний). Оо, это разделение сущая головная боль. Угол (Die Ecke) - женский род, лето (Der Sommer) - мужской род, девочка (Das Mädchen) - средний род. У них все не так как в русском и голова от этого идет кругом.

    Читать дальше...

    Tags: ,

  • Сегодня я расскажу вам немного о супермаркетах. В нашем городе их достаточно много: Lidl, Toom, Aldi, Netto, Kaufland, и думаю, что это еще не все. Причем Lidl, Aldi и Netto похожи больше на магазины Пятерочка, небольшие, без изысков, но есть все необходимое. Kaufland-же (и Toom) больше похож на Ленту, О'Кей и т.п., то есть очень большой. Читать дальше...

    Tags: ,

  • Вот такие дела. Пишите комментарии - выберу время и среди комментаторов случайным образом отдам ключ.

    Читать дальше...

    Tags: ,

  • Вот и подходит к концу моя первая неделя пребывания в Германии. Я постараюсь записывать различные интересные вещи, которые со мной здесь случаются. Кое-что может весьма удивить человека, которому приходилось жить только в странах СНГ. (Хочу сразу оговориться, что мои слова не являются непреложной истиной, а лишь отражают мое видение. А я могу и ошибиться.)

    Во-первых, немцы часто здороваются, встретив кого-либо, когда находятся в здании. Для меня это было достаточно удивительно, когда работники Auslandersamt (ведомство по делам иностранцев) здоровались со всеми людьми ожидающими в холле. В магазине кассирши так же здороваются и часто желают хорошего дня, когда рассчитаетесь. В целом немцы значительно более приветливы, особенно это заметно как раз на работниках бюрократического аппарата. В отношении Германии пока что слово "бюрократ" для меня не носит никакого негативного оттенка, ну просто не к чему придраться.

    Мусор. Мусор, конечно же, здесь сортируют. В Саксонии мусор делят на пластик, бумагу, биомусор, стекло (стекло делят на 3 цвета: белый, зеленый и коричневый) и все остальное. Поначалу непонятно куда девать, например бумагу, в которую была завернута еда. Но, как обьяснил домовладелец, бумага есть бумага.

    Про пиво и колбаски не спрашивайте, сам не ел, не видел как другие едят/пьют. Но в супермаркете выбор огромнейший. В Германии популярен напиток, который называется шорле. Это сок (почти всегда яблочный) смешанный с минералкой. Стоит, кстати, весьма дешево, что-то около 30 центов за 1,5 литра. В рублях это будет 13, в Санкт-Петербурге за 13 рублей можно только в туалет сходить, и то не везде.

    Интересный факт: покупая напиток в бутылке часто надо платить pfand 25 центов (10 руб). Это такой залог за бутылку. Если вернешь ее в магазин - получишь обратно, не вернешь - не получишь. Таким образом немцы следят, чтобы не бросали пластик куда попало (он почти не разлагается, зато прекрасно перерабатывается). Тележки в супермаркете, кстати, взять можно за евро. Привезешь тележку обратно на стоянку - получишь евро обратно, а иначе считай оплатил труд человека, который сделает это за тебя.

    Очень часто видим вечером окна первого этажа, которые никак не прикрыты, и прекрасно видно кто внутри и что делает. В России это непозволительная беспечность, а здесь повсеместно.

    Вот такие мои небольшие замечания. Дальше, я думаю, буду писать все более развернуто и с фотографиями.

    Tags: , , ,