Обнаружил что, Navicat Premium Essentials продается в Apple App Store за $9.99 вместо $49.99. Очень рекомендую купить эту программу, если вы часто работаете с MySQL/SQLite/Oracle/PostgreSQL. Я знаю что настоящие джедаи используют консоль, но хороший GUI клиент в жизни веб-разработчика просто необходим. Эта программа стоит своих денег.
Читать далее
понедельник, 13 августа 2012 г.
Установка SVN на Mac OS X 10.8 – Mountain Lion
Вчера обновился на Mac OS X 10.8 – Mountain Lion и был неприятно удивлен отсутствием SVN (Subversion).
Установить его можно как минимум двумя способами. Если у вас есть последняя версия Xcode, установленная через Mac App Store, то просто инсталим Xcode > Preferences > Downloads > Command Line Tools > Install.
Command Line Tools содержит последнюю версию SVN. Но если вы не используете Xcode, то довольно глупо качать Xcode, который весит 1.5GB, ради одного SVN.
К счастью, есть простой путь установки SVN без Xcode. Пакет Command Line Tools доступен как отдельный пакет (116MB) через Apple Developer site. Для этого вам понадобится Apple Developer ID, но его можно получить очень просто и бесплатно на основе существующего AppleID.
После загрузки и установки пакета, вы можете проверить наличие SVN в системе с помощью Terminal, просто откройте его и введите svn --version. Ответ будет приблизительно таким:
Хочу заметить, что данные 2 способа не являются единственными. Вы можете поставить SVN с помощью различных менеджеров пакетов. Например, Mac Ports, Homebrew, etc.
Читать далее
Установить его можно как минимум двумя способами. Если у вас есть последняя версия Xcode, установленная через Mac App Store, то просто инсталим Xcode > Preferences > Downloads > Command Line Tools > Install.
Command Line Tools содержит последнюю версию SVN. Но если вы не используете Xcode, то довольно глупо качать Xcode, который весит 1.5GB, ради одного SVN.
К счастью, есть простой путь установки SVN без Xcode. Пакет Command Line Tools доступен как отдельный пакет (116MB) через Apple Developer site. Для этого вам понадобится Apple Developer ID, но его можно получить очень просто и бесплатно на основе существующего AppleID.
После загрузки и установки пакета, вы можете проверить наличие SVN в системе с помощью Terminal, просто откройте его и введите svn --version. Ответ будет приблизительно таким:
$ svn --version svn, version 1.6.18 (r1303927) compiled Jun 15 2012, 19:07:58 Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.apache.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme
Хочу заметить, что данные 2 способа не являются единственными. Вы можете поставить SVN с помощью различных менеджеров пакетов. Например, Mac Ports, Homebrew, etc.
Читать далее
Ярлыки:
пакет,
установка,
Apple,
apple developer id,
appleid,
command line tools,
homebrew,
Mac OS X,
mac os x 10.8,
mac ports,
mountain lion,
subversion,
SVN,
terminal,
xcode
понедельник, 6 августа 2012 г.
Magento: Добавление атрибута во flat-таблицу
Пару месяцев назад я описал один из способов добавления EAV атрибута во flat-таблицу. Честно говоря, тот вариант мне не нравился из-за своей неочевидности. Есть другой, как по мне, более правильный: описать необходимые атрибуты в config.xml:
Читать далее
Читать далее
среда, 6 июня 2012 г.
PhpStorm: обрамляем выделенный текст в теги
Сегодня научимся обрамлять выделенный текст в теги.
Предположим, у нас есть текст "Text", который нужно обернуть тегом h1.

1. Выделяем текст

2. Нажимаем Cmd + Alt + J в Mac OS (Ctrl + Alt + J в Windows) и выбираем первый пункт выпадающего меню


3. Пишем необходимый тег и нажимаем Enter

Читать далее
Предположим, у нас есть текст "Text", который нужно обернуть тегом h1.
1. Выделяем текст
2. Нажимаем Cmd + Alt + J в Mac OS (Ctrl + Alt + J в Windows) и выбираем первый пункт выпадающего меню
3. Пишем необходимый тег и нажимаем Enter
Читать далее
Ярлыки:
выделение,
выделенный текст,
обрамление,
подсказка,
помощь,
теги,
html,
IDE,
PhpStorm,
xml
пятница, 18 мая 2012 г.
Magento: Не работает addAttributeToFilter()?
Если вы удивляетесь почему код
Читать далее
$collection->addAttributeToFilter('color', '24');не фильтрует коллекцию, это означает что в бекенде у данного атрибута не включен параметр "Used in product listing?". Как это ни странно, Magento добавляет атрибут в таблицу catalog_product_flat только если этот параметр включен. Если же он выключен, ни о какой фильтрации не может быть и речи. После включения "Used in product listing?" не забудьте сделать реиндекс.
Читать далее
Ярлыки:
как сделать,
не работает,
помощь,
фильтрация,
addAttributeToFilter(),
collection,
Magento,
php,
tips
вторник, 3 апреля 2012 г.
Magento: Добавление нового атрибута для кастомера
В Magento Community Edition присутствует возможность управления атрибутами продуктов. Но что если нам нужно создать атрибут для кастомера? В таком случае нам на помощь приходит mysql upgrade.
Допустим, я хочу создать атрибут "navoq_textmagic_phone", в котором будет храниться телефон кастомера для моего модуля. Пример кода:
Результатом выполнения апгрейда будет новый атрибут кастомера. Таким способом можно создавать атрибуты для разных сущностей: customer, customer_address, etc. Их полный список можно посмотреть в таблице "eav_entity_type".
Читать далее
Допустим, я хочу создать атрибут "navoq_textmagic_phone", в котором будет храниться телефон кастомера для моего модуля. Пример кода:
/* @var $installer Navoq_TextMagic_Model_Resource_Setup */
$installer = $this;
$installer->startSetup();
$installer->addAttribute('customer', 'navoq_textmagic_phone', array(
'label' => 'Phone',
'visible' => true,
'required' => false,
'type' => 'text',
'input' => 'text'
));
/** @var $eavConfig Mage_Eav_Model_Config */
$eavConfig = Mage::getSingleton('eav/config');
/** @var $attribute Mage_Customer_Model_Attribute */
$attribute = $eavConfig->getAttribute('customer', 'navoq_textmagic_phone');
$attribute->addData(array(
'is_used_for_customer_segment' => true,
'used_in_forms' => array('customer_account_edit', 'adminhtml_customer'),
'is_user_defined' => true,
'backend_type' => 'varchar',
'is_system' => false,
'is_visible' => true,
'is_unique' => false,
'sort_order' => 250
))->save();
$installer->endSetup();
Результатом выполнения апгрейда будет новый атрибут кастомера. Таким способом можно создавать атрибуты для разных сущностей: customer, customer_address, etc. Их полный список можно посмотреть в таблице "eav_entity_type".
Читать далее
Ярлыки:
создание атрибута,
customer,
help,
howto,
Magento,
mysql-upgrade,
php
Настройка деплоймента в PhpStorm
Деплоймент (deployment) - очень важный момент в работе разработчика. Я напомню, что локальную разработку я веду на FreeBSD VM, на которой настроены все необходимые веб-сервисы. Данный способ разработки позволяет эмулировать реальную среду продакшена, где будет работать мой код. Раньше я просто расшаривал свои проекты по Samba, сканировал необходимую папку и работал с ней удаленно. У данного способа есть большой минус - скорость работы. PhpStorm индексит по Samba очень медленно, иногда может надолго подвисать.
Потому сейчас я работаю с локальной папкой, а PhpStorm все автоматически аплоадит (деплоит) по SFTP на виртуальную машину. Так IDE работает быстрее, индексация проекта теперь занимает намного меньше времени.
Перейдем от слов в делу. Допустим, у меня есть локальная папка "community" с Magento CE и такая же папка на VM.
1. Открываем настройки деплоймента Project Settings => Deployment:

2. Добавляем новый сервер. Для этого нужно нажать на плюсик, дать ему имя и выбрать тип соединения. В моем случае это SFTP:

3. Заполняем табу "Connection":

Стоит заметить, что в поле "Root path" лучше указывать директорию VM, в которой лежат все ваши проекты, чтобы можно было использовать данный сервер и для их деплоя.
4. Заполняем табу "Mappings":

- "Local path": локальная папка с проектом
- "Deployment path on server '%YOUR_SERVER_NAME%'": удаленная папка с проектом
5. Заполняем табу "Excluded Paths":

Здесь можно настроить папки, которые мы не ходим деплоить на VM и наоборот. В данном случае я указал что не хочу получать с удаленного сервера содержимое папки "var", в которой хранится кеш, репорты, логи и прочая служебная информация о проекте.
6. Настраиваем автоматический аплоад на удаленный сервер, чтобы после каждого сохранения файла, он PhpStorm отправлял его на сервер. Для этого нужно зайти в Project Settings => Deployment => Options и выставить чекбоксы вот так:

Поздравляю, все настроено. Открываем любой файл, делаем в нем изменение, сохраняем и видим что PhpStorm автоматически загрузил этот файл на сервер:

Как вы видите, все просто. Данный способ еще можно использовать для деплоя небольших сайтов на продакшен-сервер.
Читать далее
Потому сейчас я работаю с локальной папкой, а PhpStorm все автоматически аплоадит (деплоит) по SFTP на виртуальную машину. Так IDE работает быстрее, индексация проекта теперь занимает намного меньше времени.
Перейдем от слов в делу. Допустим, у меня есть локальная папка "community" с Magento CE и такая же папка на VM.
1. Открываем настройки деплоймента Project Settings => Deployment:
2. Добавляем новый сервер. Для этого нужно нажать на плюсик, дать ему имя и выбрать тип соединения. В моем случае это SFTP:
3. Заполняем табу "Connection":
Стоит заметить, что в поле "Root path" лучше указывать директорию VM, в которой лежат все ваши проекты, чтобы можно было использовать данный сервер и для их деплоя.
4. Заполняем табу "Mappings":
- "Local path": локальная папка с проектом
- "Deployment path on server '%YOUR_SERVER_NAME%'": удаленная папка с проектом
5. Заполняем табу "Excluded Paths":
Здесь можно настроить папки, которые мы не ходим деплоить на VM и наоборот. В данном случае я указал что не хочу получать с удаленного сервера содержимое папки "var", в которой хранится кеш, репорты, логи и прочая служебная информация о проекте.
6. Настраиваем автоматический аплоад на удаленный сервер, чтобы после каждого сохранения файла, он PhpStorm отправлял его на сервер. Для этого нужно зайти в Project Settings => Deployment => Options и выставить чекбоксы вот так:
Поздравляю, все настроено. Открываем любой файл, делаем в нем изменение, сохраняем и видим что PhpStorm автоматически загрузил этот файл на сервер:
Как вы видите, все просто. Данный способ еще можно использовать для деплоя небольших сайтов на продакшен-сервер.
Читать далее
Ярлыки:
виртуальная машина,
деплоймент,
как настроить,
настройка,
помощь,
Deployment,
howto,
PhpStorm,
tips
Подписаться на:
Сообщения (Atom)