Magento: product get status

O que significam os status de um produto no Magento (retornados através de Mage::getModel(“catalog/product”)->getStatus() )?

1 – enabled
2 – disabled

=)

jan23

Magento: limit em collection

Uma forma aternativa que encontrei:

$product = Mage::getModel('catalog/product')->getCollection()->addStoreFilter( $storeId );
 
$product->addFieldToFilter('type_id',Array('eq'=>"configurable"));
 
// setando limit!
$product->getSelect()->limit(50);

jan20

Linux: Matar processo forçadamente

Esses dias precisei matar um processo estava consumindo 99% de processamento da minha máquina. Tentei o kill passando o pid do processo. Porém, mesmo sem retornar nenhuma mensagem de erro, o processo continuava lá. Inerte. Imortal.

Foi aí que lembrei que existia um parâmetro que o pessoal de uma outra empresa que onde eu trabalhava chamava de “sem vaselina”. É como se fosse um “–force” da maioria dos comandos.

No comando “kill”, este parâmetro é o “-9″ (menos nove mesmo).

 kill -9 2211 // matando sem vaselina o processo com o pid 2211

Espero que ajude à todos, menos a Luiza que está no Canadá.

jan19

SVN: reverter para uma revisão anterior

Vamos assumir que queremos reverter o arquivo “local.xml” da última revisão commitada (HEAD) para a revisão 10.

//revertendo para a revisão 10
svn merge -r HEAD:10 local.xml

Interessante perceber que o comando abaixo NÃO EXISTE:

//NÃO REVERTENDO. DÁ ERRO
svn revert -r 10 local.xml

Bastante útil.

jan12

Magento: download de módulos

Olá!

Este  site  permite o download de módulos disponíveis no Magento Connect:  Download Magento Extension

Basta inserir extensio key (a mesma chave utilizada para instalação do módulo via Magento Connect) e dois links para download são disponibilizados: um é para download do exato pacote baixado no reposiório oficial do Magento. Outro é no modo “copy + paste”. Pronto para uso. Na prática, é só você descompactar o arquivo na raiz da instalação do seu Magento e o módulo estará instalado.

Muito útil. Espero que ajude.

dez09

Magento: exibir nome da base de dados

Para exibir o nome da base de dados:

$dbname = (string)Mage::getConfig()->getNode('global/resources/default_setup/connection/dbname');
var_dump($dbname);

nov28

Magento: formatar preço de um produto

Snippet rápido pra quem quiser formatar o preço com a moeda de um produto no Magento:

 
//...
$_product->setPrice('10.00');
var_dump(Mage::helper('core')->currency(number_format($_product->getPrice(),2))); // imprime R$10,00

That´s it.

nov04

Magento: mensagens de sucesso e erro não aparecem.

Já falamos por aqui sobre mensagens de sucesso e erro no Magento.

Porém, muitas vezes as mensagens simplesmente não aparecem.

Um dos principais motivos é a inicialização dessas mensagens (que ficam em sessão) no controller do seu módulo. Se isto não é feito da maneira correta, as mensagens não ficam disponíveis na view. (Se vocẽ não sabe o que são controllers ou views, leia isso).

Como faço então para inicializar as mensagens de sucesso e erro no meu controller?

/**
* Controller da ação index.
*
*/
public function indexAction() {
        $this->loadLayout();
        // inicia as mensagens do usuário
        $this->_initLayoutMessages('customer/session');
        $this->getLayout()->getBlock('inscricaoForm')->setFormAction(Mage::getUrl('*/*/post'));
        $this->renderLayout();
}
// Assim funciona.

Note as mensagens são inicializadas após o método “loadLayout”. Geralmente, tendemos a invocar o método “_initLayoutMessages” no começo do método que estamos programando. Geralmente, é por isso que não funciona.

/**
* Controller da ação index.
*
*/
public function indexAction() {
        // inicia as mensagens do usuário
        $this->_initLayoutMessages('customer/session');
        $this->loadLayout();
        $this->getLayout()->getBlock('inscricaoForm')->setFormAction(Mage::getUrl('*/*/post'));
        $this->renderLayout();
}
// Assim não funciona.

Espero que ajude.

nov03

Magento: dados do cliente

$customer_id = 1; 
 
$customer_data = Mage::getModel('customer/customer')->load($customer_id);
 
var_dump($customer_data);

out24

Linux: histórico de comandos

Às vezes eu preciso saber um comando que executei há algum tempo num terminal. Para isso existe o comando “history”.
Uso:

 history

Também pode ser usado com o auxílio do poderos “grep”:

 history | grep Zend

set23