Pytania otagowane jako best-practice

Oznacza pytania związane z najlepszymi praktykami w Magento.

3
Magento: najszybszy sposób na aktualizację atrybutu produktu
Szukam najszybszej i niezawodnej metody masowej aktualizacji atrybutów. Poniżej znajdują się metody, o których wiem, ale nie wiem, z którymi powinienem się zdecydować. $store_id = 0; Mage::getSingleton('catalog/product_action')->updateAttributes( array($product_id), array('attribute_code' => $attribute_code), $store_id ); lub $product->setData($attribute_code, 1234); $product->getResource()->saveAttribute($product, $attribute_code);

1
Jak zarządzać config.php w Magento 2
Przede wszystkim jest to może pytanie, na które już udzielono odpowiedzi, ale nie znalazłem nic na ten temat. To nie jest problem, ale pytanie o najlepszy sposób zarządzania plikiem config.phpw Magento 2. W rzeczywistości nasz config.phpnie jest wersjonowany (domyślnie w .gitignorepliku M2 ), więc nie ma go w naszym repozytorium. …

5
Magento2: najlepsza praktyka modyfikowania plików css
Chcę zmodyfikować plik css pub/static/frontend/Magento/luma/en_US/css/styles-l.css. Początkowo ten plik nie znajduje się w folderze pub / static i jest obecny w vendor/magento/theme-frontend-blank/web/css/styles-l.less (it's styles-l.less) Kiedy używam zawartości statycznej za pomocą php bin/magento setup:static-content:deploy, tworzone są 2 pliki w pub / static z nią powiązane. 1. pub/static/frontend/Magento/luma/en_US/css/styles-l.less 2. pub/static/frontend/Magento/luma/en_US/css/styles-l.css Jestem programistą wspieranym …

4
Czy warto tworzyć instancję klasy getModel w szablonach phtml?
To pytanie dotyczy dobrych praktyk programistycznych w Magento. Muszę pokazać (w liście produktów kategorii) produkt wraz z powiązanymi produktami w miniaturach. Więc edytowałem mypackage/mytheme/template/catalog/product/list.phtmlcoś takiego <?php $related=$_product->getRelatedProductIds(); if(count($related)>0){ echo '<div class="a'.$ap.'"></div>'; echo '<div class="li_p"><ul>'; foreach($related as $rela){ $rela_nom=Mage::getModel('catalog/product')->load($rela); echo '<li><a href="'.$rela_nom->getProductUrl().'"> <img src="'.$this->helper('catalog/image')->init($rela_nom, 'small_image')->resize(20).'" width="20" height="20"> </a><li>'; } echo '</ul></div>'; …

1
Czy istnieje dobry powód, aby umieścić ten sam kod w obu blokach try AND catch?
W pliku: app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Datetime.phpw ramach render()metody wydaje się, że dokładnie ten sam kod jest uruchamiany zarówno w blokach try and catch. Wyjątek w ogóle nie jest obsługiwany. Jestem ciekawy, jakie są powody (jeśli w ogóle) pisania takiego kodu: try { $data = Mage::app()->getLocale() ->date($data, Varien_Date::DATETIME_INTERNAL_FORMAT)->toString($format); } catch (Exception $e) { $data …

1
Unikanie zapisu w pętli w akcji masowej
Stworzyłem własny moduł CRUD, który zawiera wbudowaną akcję edycyjną podobną do tej dla stron CMS. Wszystko działa OK, ale kiedy uruchamiam phpsniffer ze standardem EcgM2 , otrzymuję to ostrzeżenie: Modelowa metoda LSD save () wykryta w pętli Jak mogę tego uniknąć? Uwaga: to samo ostrzeżenie pojawia się, gdy „powącham” plik …

3
Jak renderować HTML za pomocą AJAX w Magento 2
Staram się znaleźć najlepszy sposób renderowania HTML przez AJAX w Magento 2. Sposób 1: Korzystanie z kontrolera bez układu Plik Foo/Bar/Controller/Popin/Content.php <?php namespace Foo\Bar\Controller\Popin; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; /** * Class Content */ class Content extends Action { /** * Content constructor. * * @param Context $context */ public function …

3
Właściwy sposób na wdrożenie getExtensionAttributes ()
Zastanawiałem się, jaki jest właściwy sposób wdrożenia rozszerzalnego modelu EAV. Widzę Magento\Catalog\Model\Product, że metoda getExtensionAttributes()jest implementowana w następujący sposób: public function getExtensionAttributes() { $extensionAttributes = $this->_getExtensionAttributes(); if (!$extensionAttributes) { return $this->extensionAttributesFactory->create('Magento\Catalog\Api\Data\ProductInterface'); } return $extensionAttributes; } Ale w innych, takich jak modele klientów lub kategorii, jest to po prostu public function …

4
Najlepsza praktyka łączenia atrybutów produktu
Mam niestandardową tabelę z odniesieniem do produktu product_id. Teraz chciałbym wyświetlić informacje o produkcie (SKU, nazwa) w siatce wewnętrznej bazy danych , ale nie jestem pewien, jaka jest najlepsza praktyka, aby to zrobić? Moje najlepsze przypuszczenie SKUbrzmi następująco: $collection->join( 'catalog/product', 'product_id=`catalog/product`.entity_id', array('product_sku' => 'sku') ) (kod z _prepareCollection() metody w …


3
Zgodność z EKG: jak to zrobić?
Jest coś takiego jak coding standarddla Magento 1 , nazywanego ECGtam , gdzie należy unikać wielu rzeczy lub metod, których nie należy stosować. Spróbujmy utworzyć listę, która obejmie wszystkie przypadki, które zgłaszają „błędy” lub „ostrzeżenia” w kodzie. Poniżej znajduje się lista wszystkich możliwych ostrzeżeń. Będę aktualizować ten post w regularnych …

3
Magento 1: Optymalizacje wydajności do usuwania encji
Obecnie próbuję ulepszyć kilka modułów pod względem wydajności. Niektórzy z was mogą znać użycie walk()metody zbierania, która jest bardzo przydatna, aby uniknąć bezpośredniego przechodzenia między produktami. Ponadto dzięki @Vinai można również użyć delete()metody zbierania . Zauważyłem jednak, że rodzime pliki Magento 1 nie zawsze używają żadnej z tych metod usuwania. …

2
Jak prawidłowo wyłączyć przepisywanie (modelowe)
Istnieje rozszerzenie innej firmy, które przepisuje określoną klasę podstawową Magento. Nie powinno mieć znaczenia, czy jest to blok, pomocnik czy model, ale w tym przypadku jest to model. Teraz napotykam, że to przepisywanie jest złe i chciałbym je wyłączyć bez zmiany rozszerzenia strony trzeciej. Dlatego piszę niestandardowe rozszerzenie, które zależy …

5
Gdzie umieścić pliki .php, .js, .html, .css z biblioteki innej firmy, która współpracuje z opracowanym przeze mnie rozszerzeniem?
Powiedzmy, że chcę opracować rozszerzenie Magento, które łączy się, powiedzmy, z pakietem wykresów Open Source lub galerią obrazów lub czymkolwiek innym, co NIE jest częścią samego rozszerzenia. Po pobraniu (oddzielnie od rozszerzenia) biblioteka innej firmy jest dostarczana jako pojedynczy plik .zip ze wszystkimi plikami .php, .js, .html i .css. Czy …

2
Po co używać motywu, gdy masz moduły?
Wewnątrz mojego niestandardowego modułu dodałem plik Vendor/Theme/view/layout/default.xml którego używam do zastąpienia wielu globalnych szablonów witryny za pomocą szablonów / bloków / układów z niestandardowego modułu. Załączam również własną globalną stylistykę, która istnieje w view/webkatalogu w tym module. Czy zamiast tego powinienem używać motywu? Czy przemawia za tym jeden wzorzec projektowy …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.