воскресенье, 19 августа 2012 г.

Magento: открываем в нужную табу после редиректа

Очень часто при работе с бекендом в Magento требуется сделать редирект на страницу и открыть определенную табу. Например, представим что у нас в табе находится грид, в котором мы производим delete mass action. После выполнения этого действия необходимо вернуться на эту же страницу и открыть табу с гридом. Делается это очень просто.

Сначала необходимо взять имя табы из хендла, в котором она описана:

    sms_reply_tab
    navoq_magicsms/adminhtml_sms_tab_reply

Названием добавленной табы является содержимое тега .

Теперь можно выполнять редирект:
$this->_redirect("*/navoq_magicsms/edit", array(
    'id'         => $sms->getId(),
    'active_tab' => 'sms_reply_tab',
));

Таба откроется благодаря параметру active_tab, в который мы передаем имя табы.
Читать далее

MageConf 2012


15го сентября состоится главное PHP события года в Украине - MageConf. Будет очень много интересных докладов и воркшопов. Еще можно будет выиграть бесплатный купон для прохождения Magento сертификации. В прошлом году я выиграл лицензию на PhpStorm :)

Программа конференции - http://mageconf.com/home/program
Регистрация - http://mageconf.com/registration
Читать далее

пятница, 17 августа 2012 г.

Фигурные кавычки в JavaScript

Существуют два С-подобных стиля фигурных кавычек
// Первый
Foo() 
{

}

// Второй
Foo() {

}

Оба очень активно используются в PHP и JavaScript, но меня всегда интересовал вопрос: почему последний вариант наиболее популярен в JavaScript, а первый в PHP/С++/С#. Теперь я знаю ответ: размещение скобки на той же линии после оператора помогает избежать глупых ошибок, возможно благодаря стандарту ECMASrcipt.

В нем говорится следующее:
Certain ECMAScript statements (empty statement, variable statement, expression statement, do-while statement, continue statement, break statement, return statement, and throw statement) must be terminated with semicolons. Such semicolons may always appear explicitly in the source text. For convenience, however, such semicolons may be omitted from the source text in certain situations. These situations are described by saying that semicolons are automatically inserted into the source code token stream in those situations.

Приведу небольшой пример для понимания того, что они имеют ввиду:
function FooA() {  
    return  
    {  
        x: 8  
    };  
};  
  
function FooB() {  
    return {  
        x: 8  
    };  
};  
  
function Bar() {  
    console.log(FooA().x);  
    console.log(FooB().x);  
}  

После вызова функции Bar() мы увидим "undefined" и "8". Это произошло благодаря тому, что JavaScript очень умен и поставил точку с запятой после оператора return. То есть интерпретатор никогда не дойдет до нашего анонимного объекта. Почему? "Для удобства", - говорит нам ECMAScript. Наслаждайтесь полученной информацией и пусть программирование на JavaScript приносит вам только удовольствие. Как мне ;)

Читать далее

понедельник, 13 августа 2012 г.

Navicat Premium Essentials за $9.99

Обнаружил что, Navicat Premium Essentials продается в Apple App Store за $9.99 вместо $49.99. Очень рекомендую купить эту программу, если вы часто работаете с MySQL/SQLite/Oracle/PostgreSQL. Я знаю что настоящие джедаи используют консоль, но хороший GUI клиент в жизни веб-разработчика просто необходим. Эта программа стоит своих денег.
Читать далее

Установка 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. Ответ будет приблизительно таким:
$ 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.
Читать далее

понедельник, 6 августа 2012 г.

Magento: Добавление атрибута во flat-таблицу

Пару месяцев назад я описал один из способов добавления EAV атрибута во flat-таблицу. Честно говоря, тот вариант мне не нравился из-за своей неочевидности. Есть другой, как по мне, более правильный: описать необходимые атрибуты в config.xml:

    
         
              
                   
                      
                      
                      
                   
              
          
    


Читать далее