Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Verificar se o produto é novidade, comparando campos "NewsFromDate" e "NewsToDate" do produto.
- *
- * @author Julio Vedovatto <juliovedovatto@gmail.com>
- * @uses Zend_Date
- * @param Mage_Catalog_Model_Product $_product
- * @throws Exception
- * @return boolean
- */
- public function isProdutoNovidade(Mage_Catalog_Model_Product $_product) {
- $is_novidade = false;
- try {
- $locale = Mage::app()->getLocale();
- if (!$_product instanceof Mage_Catalog_Model_Product)
- throw new Exception('Produto inválido');
- // Pegar a data atual, pegando apenas a parte da data (sem comparação com hora)
- $now = $locale->date(null, 'yyyy-MM-dd', null, false);
- // Pegar datas de início e fim do produto
- $data_ini = $_product->getNewsFromDate();
- $data_fim = $_product->getNewsToDate();
- if (empty($data_ini) || empty($data_fim))
- throw new Exception('NewsFromDate ou NewsToDate não foi preenchido.');
- // Converter $data_ini e $data_fim p/ Zend_Date para comparação.Desabilitando o uso de timezone (já que vem sem horas do banco)
- $data_ini = $locale->date($data_ini, null, null, false);
- $data_fim = $locale->date($data_fim, null, null, false);
- $is_novidade = ($data_ini->isEarlier($now) | $data_ini->equals($now)) && ($data_fim->isLater($now) | $data_fim->equals($now));
- } catch (Exception $err) {
- Mage::logException('Erro ao converter data para comparação. [Erro]: ' . $err->getMessage());
- $is_novidade = false;
- }
- return $is_novidade;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement