среда, 10 октября 2012 г.

Кастомизация вывода форм в Symfony2

В официальном кукбуке, есть статья How to customize form rendering, в которой описано, как создать свою тему для форм в Symfony2 (свои шаблоны). Этот пост - пересказ моментов, которые я не понял с первого раза.

суббота, 25 августа 2012 г.

Ширина окна Guake в Unity (Ubuntu 12.04)

Guake - это выпадающий терминал (а-ля консоль в играх типа quake), написанный на python.

В Ubuntu 12.04 текст в guake уходит за экран (из-за боковой панели unity). Проблема легко решается небольшой правкой исходного кода.

В файле /usr/lib/guake/guake.py в функции get_final_window_rect, нужно заменить строку "width = 100" на "width = 97" (ширина окна guake в процентах). Подберите нужное вам значение. После изменения файла нужно перезапустить guake.

вторник, 31 июля 2012 г.

Запросы UPDATE, DELETE вместе с JOIN

Примеры, по которым сразу понятен синтаксис

UPDATE:
update
    target_table
join
    join_table
on
    tt.id = jt.id
set
    tt.field = jt.field

DELETE:
delete
    target_table.*
from
    target_table `tt_alias`
inner join
    join_table `jt_alias`
on
    tt_alias.id = jt_alias.id
where
    jt_alias.row = 1;

среда, 1 февраля 2012 г.

Склонение существительных после числительных.

Приятнее, когда программа общается с вами человеческим языком, а не раздражающим "у вас 10 сообщения". А ведь правильно склонять слова не так уж и сложно.

Короткое решение, взятое отсюда и адаптированное под использование с php.
$word = array('комментарий', 'комментария', 'комментариев');
$plural=($count%10==1 && $count%100!=11) ? 0 : ($count%10>=2 && $count%10<=4 && ($count%100<10 || $count%100>=20) ? 1 : 2);
echo $count . ' ' . $word[$plural];

По массиву видно какие формы слова должны быть, но поясню:
0 => слово при 1, или "один"
1 => 2 или "два"
2 => 5 или "много"

Т.е.
один (1) - комментарий,
два (2) - комментария,
много (5) - комментариев.

Решение однострочное, можно внедрить в какой угодно фреймворк/CMS.