Просто положу это здесь. Должно пригодиться.
See the Pen iOS style sliding menu by Jason Howmans (@jasonhowmans) on CodePen.0
Просто положу это здесь. Должно пригодиться.
See the Pen iOS style sliding menu by Jason Howmans (@jasonhowmans) on CodePen.0
В версии 3.0 моего любимого фреймворка, кажется, появятся составные первичные ключи у моделей. Держим кулачки :)
The new CakePHP ORM is going to support composite keys everywhere, because @jose_zap is amazing.
— Mark Story (@mark_story) January 16, 2014
В летнем обновлении до версии Shop-Script 5.1.4 появилась очень полезная возможность спрашивать только те данные пользователя, которые действительно нужны для доставки. С этим обновлением процесс оформления заказа у этого движка стал лучшим среди тех движков, за которыми я наблюдаю.
Но для точной настройки необходимо изменить все модули доставки, используемые в конкретном магазине. Каждый модуль должен возвращать список полей, которые необходимы для доставки этим конкретным способом. Читать далее Поля адреса при оформлении заказа Shop-Script 5
Понадобилось в одном проекте сделать выбор лет производства автомобиля. Ну, чтобы можно было указать, в какие годы он производился. Усугублялось это тем, что это необязательно должен быть непрерывный интервал. Решили сделать чекбоксами, но только этих самых чекбоксов уж больно много получалось.
В общем, решили расположить чекбоксы в таблице, сами чекбоксы скрыть, оставив только label. И у отмеченного чекбокса цвет фона лейбла менять. Заодно познакомился с AngularJS. Пришлось немного повозиться, чтобы изменения не сразу попадали в модель Angular, чтобы пощелкав по чекбоксам можно было спокойно нажать «Cancel».
Вот, что получилось. С помощью кнопки «New Usage» можно добавить модель автомобиля. Ссылка Delete сами понимаете, что делает (простите, подтверждения не спрашивает), про Edit тоже догадаетесь.
Внизу в отладочных целях содержимое модели.
Поигрался немного с правилом text-shadow. На Internet Explorer работать, наверное, не будет. Но кого волнует чужое горе?
При радиусе размытия 0 делает просто внешнюю обводку. На Firefox 26, правда, при смещении на 1px по обеим осям углы не очень четко обозначает.
Поскольку имеющаяся в наличии документация по фреймворку Webasyst подробностью не отличается, натравил на дистрибутив автоматический генератор документации. Пришлось, правда, перед этим немного подправить докблоки, чтобы более-менее по тематике все делилось.
Получилось вот такое описание API Webasyst Framework. Тоже не сахар. Обновляется с моего форка, могут быть небольшие отличия от оригинала.
Тот редкий случай, когда не хочется выбирать все записи сразу, а есть желание выбирать по одной. Как в PHP с помощью mysql_query() / mysql_fetch_row().
В документации на Cake ничего похожего не описано, но возможность такая все-таки есть. По крайней мере в случае Mysql (и, видимо, других источников данных БД).
Модель CakePHP обращается к экземпляру класса Datasource для выборки данных, однако, на самом деле, это экземпляр класса DboSource, наследник Datasource. А у DboSource есть методы execute() и fetchRow(). Поэтому такая конструкция вполне работает:
1 2 3 4 5 |
$ds = $this->Model->getDatasource(); $ds->execute($sql); while($row = $ds->fetchRow()) { // Some code } |
Внутри модели, конечно, все тоже работает. Просто я из контроллера пробовал :) Как правильно, в соответствии с CakeWay, составлять строку запроса сами разберетесь, не новички.
Забавно, но mysqldump не может вывести структуру таблицы без того, чтобы не указать текущее значение AUTO_INCREMENT. Даже если не выводить данные, а только структуру.
Это помогает:
1 |
mysqldump -u root -p --no-data <db-name> | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > <filename>.sql |
Очень полезная команда для старых проектов :)
1 |
find . -type d -name .svn -exec rm -rf {} \; |
Чтобы slug генерировался не из русских букв, а транслитом. Добавлять в bootstrap