2014-03-27

Интеграция magerun с phpstorm

Для интеграции magerun (n98-magerun) открываем в phpstorm File->Settings->Command Line Tool Support.
Нажимаем плюсик. В появившемся окне в "Choose tool" выбираем "Tool based on Synfony Console". В "Visibility" выбираем "global". В следующем окне указываем путь к файлу (Например ""/home/slirx/web_dev/n98-magerun.phar") и алиас, через который мы будем обращаться к скрипту (например "m").
Сохраняем изменения и открываем Command Line Tool Console в Tools->Run Command или с помощью Ctrl+Shift+X.

2014-03-26

Создание ключей для bitbucket / github

Генерируем ключ:
ssh-keygen -t rsa -f ~/.ssh/rsa_id_bitbucket -C "your.email@gmail.com"
rsa_id_bitbucket - имя файла ключа. Для гитхаба можем использовать rsa_id_github
Добавляем ключ:
ssh-add ~/.ssh/rsa_id_bitbucket
Копируем содержимое файла ~/.ssh/rsa_id_bitbucket.pub на bitbucket/github
cat ~/.ssh/rsa_id_bitbucket.pub
Проверяем работоспособность:
ssh -T git@bitbucket.com

2014-03-22

Сохранение базы данных в git

Для сохранение дампа базы данных при каждом коммите можно использовать git hooks (почитать больше).
Для этого создаем файл pre-commit в папке .git/hooks в вашем репозитории с таким содержимым:
#!/bin/sh
mysqldump -u ПользовательБД --password=ПарольБД ИмяБД > var/backup/db.sql
git add var/backup/db.sql
exit 0
Даем файлу доступ на выполнение. И все. Теперь перед каждым коммитом будет делаться дамп и записываться в папку var/backup проекта.

2014-03-20

Google Adwords API ошибка "WebLoginRequired"

При первом логине пользователя в Google Adwords API возникает ошибка: "BadAuthentication: WebLoginRequired".

Для ее решения надо перейти по ссылке https://accounts.google.com/DisplayUnlockCaptcha и разрешить доступ, после этого API будет работать.

Также надо разрешить доступ на странице https://security.google.com/settings/security/activity

2014-03-13

Внешнее исполнение кода magento

Для использования кода magento вне рабочей директории сайта:
require_once('/path/to/Mage.php/file/../app/Mage.php');
umask(0);
Mage::app();

2014-02-28

Неправильный путь к файлам css/js

Если путь к файлам css/js выглядит как полный системный путь к файлу (например /home/slirx/web_dev/m.local/js/prototype/window.js) значит нет доступа на папки media/css (media/js).

2013-12-23

Magento: получение всех атрибутов продуктов

public function getAttributes()
{
 $result = [];

 $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
  ->getItems();

 foreach ($attributes as $attribute){

  $result[] = [
   'label' => $attribute->getAttributecode(),
   'value' => $attribute->getFrontendLabel()
  ];
 }

 return $result;
}

Или:
public function getAttributes()
{
 $attributes = Mage::getModel('catalog/product')->getAttributes();
 $attributeArray = [];

 foreach($attributes as $a){

  foreach ($a->getEntityType()->getAttributeCodes() as $attributeName) {

   $attributeArray[] = [
    'label' => $attributeName,
    'value' => $attributeName
   ];
  }
  break;
 }
 return $attributeArray;
}