Magento: decimal symbol

Dodany: 21 kwietnia, 2017 | Kategoria: Magento, PHP

Ponieważ w Magento zależnie od ustawionego języka separatorem miejsc dziesiętnych jest kropka lub przecinek, a miałem klienta, który chciał cyfry po tym znaku zamieniać na małe, musiałem znaleźć rozwiązanie. Mimo setek plików XML jednego prostego rozwiązania nie ma, ale jest funkcja która zwraca nam tablicę zawierającą tę i inne cenne informacje o cenach:

Mage::app()->getLocale()->getJsPriceFormat();

1
2
3
$options = Mage::app()->getLocale()->getJsPriceFormat();
echo $options['decimalSymbol']; // returns . (1.5) or , (1,5)
echo $options['groupSymbol']; // returns , (1,000.5) or . (1.000,5)
Tagi: , , , , Brak komentarzy »

Magento – reindex Solr

Dodany: 4 listopada, 2015 | Kategoria: Magento, PHP
1
2
cd /var/www/html/magento/shell
php indexer.php --reindex catalogsearch_fulltext
Tagi: , , Brak komentarzy »

[Magento] Nazwa identyfikatora akcji dla layoutu

Dodany: 26 lutego, 2015 | Kategoria: Magento

Tworząc w magento layout należy podać identyfikator dla danego kontrolera i akcji. Niestety czasem są z tym problemy, ale można dość szybko znaleźć wyciągnąć ten identyfikator w samej akcji za pomocą:

1
$this->getFullActionName()
Tagi: , , Brak komentarzy »

Gdzie jest aplikowana paginacja na kolekcji widoku kategorii w Magento?

Dodany: 9 października, 2012 | Kategoria: Magento, PHP

Potrzebowałem znaleźć, gdzie jest ograniczana kolekcja produktów w widoku kategorii, przez co zamiast X produktów wyświetla się np. 9.

1
2
class Mage_Catalog_Block_Product_List {
...
162
163
// set collection to toolbar and apply sort
$toolbar->setCollection($collection);
Tagi: , , , , , , Brak komentarzy »

Includowanie bloku Magento bezpośrednio w templatce

Dodany: 27 lipca, 2011 | Kategoria: Magento, PHP

Gdy wstawimy blok do pliku layoutu, będzie on wczytany przy generowaniu strony (nawet jeśli go nie wyświetlamy w templatce) i sprawdza cache. Dzisiaj miałem taki problem, ze aby nie nadpisywać całego magento i wyswietlania kategorii, najprościej było po prostu ustawić pewien parametr w templatce a potem ten drugi blok miał go odczytywać aby utworzyć klucz dla cache. Tu pojawił się problem, bowiem aby skorzystac z getChildHtml() musiałem ustawić blok w layoucie, co powodowało, ze generował się klucz do cache z parametru, którego jeszcze nie było i sypało błędem.

Poszukałem rozwiazania w googlach i było prawie dobre – niestety okazało się, że metoda setData wcale nie ustawi zmiennej $this->_template, a $this->_data[’template’] dla bloku, przez co output HTMLowy się nie wykonywał ($this->getTemplate() zwracało NULL).

Zatem prawidłowe rozwiązanie to:

echo $this->getLayout()
->createBlock('Name_Module_Block_Type', 'name')
->setTemplate('name/module/type.phtml')
->toHtml();
Tagi: , , , , , , , Brak komentarzy »