Chcę ukryć niestandardowy atrybut w szablonie magento. Moja wersja Magento to 1.8.1
Dodaliśmy niestandardowy atrybut dla naszego produktu, taki jak marka, wymiar, typ produktu itp., Ale czasami nie dodawaliśmy wartości w tych atrybutach. magento pokazuje No lub N / A na stronie widoku produktu.
Chcemy więc ukryć atrybuty, które są puste lub nie mają wartości w szablonie.
product-attribute
ce-1.8.1.0
Klatka kluczowa
źródło
źródło
Odpowiedzi:
Szybka poprawka:
W
app/[mypackage]/[mytheme]/template/catalog/product/view/attributes.phtml
(lub skopiuj ten plik do motywu z podstawowego lub domyślnego motywu niestandardowego):Poniżej nie jest konieczne, aby osiągnąć to, o co prosiłeś:
Te atrybuty są nadal ładowane. Aby to zoptymalizować (jeśli masz dużą liczbę atrybutów w zestawach atrybutów):
Zwróć uwagę na dwa
// Fix:
komentarze.Ta zmodyfikowana funkcja pochodzi z
Mage_Catalog_Block_Product_View_Attributes
. Musisz skopiować powyższą funkcję z klasy bloku z modułu. Twoja klasa bloków przepisuje podstawową klasę bloków. Zastosowanie tej opcji znacznie poprawi ładowanie strony widoku produktu w interfejsie użytkownika.Jeśli nie wiesz, jak utworzyć niestandardowy moduł w lokalnym katalogu, wyszukaj w samouczku, jak utworzyć moduł Magento i jak przepisać klasę bloku podstawowego. Lub spróbuj http://www.magentocommerce.com/magento-connect/ultimate-module-creator.html .
źródło
Znajdź i otwórz plik attribute.phtml . Ten plik można znaleźć tutaj:
/app/design/frontend/[YOUR PACKAGE]/[YOUR THEME]/template/catalog/product/view/attribute.phtml
Otwórz plik i wyszukaj następujące linie:
Zastąp całą pętlę foreach następującymi wierszami kodu:
Źródło: http://codingbasics.net/hide-magento-attributes-value/
Źródło: http://www.magthemes.com/magento-blog/empty-attributes-showing-na-fix/
źródło
Nie wiem dokładnie, ale gdzieś to przeczytałem.
Ukryj puste atrybuty, po prostu edytuj plik szablonu o nazwie „attribute.phtml”.
W kodzie znajdź następujące wiersze:
i zamień te linie na te:
źródło
zmień następujący kod w app / design / frontend / base / default / template / catalog / product / view / attribute.phtml :
z:
do:
źródło
W niestandardowego tematu, przejdź do:
catalog\product\view\attributes.phtml
. Twój kod PHP powinien sprawdzić, czy wartość atrybutu to „Nie” lub „Nie dotyczy” we wszystkich językach. To nie będzie renderować atrybutów z tymi wartościami.Kod będzie wyglądał następująco:
Zmienna
$emptyValues
zostanie dodana, a sprawdzenie, czy jest w tablicy, zostało dodane do kodu.Pamiętaj, aby opróżnić pamięć podręczną po wprowadzeniu zmian w interfejsie użytkownika.
źródło
Można to zrobić za pomocą małego fragmentu kodu. Znajdź i otwórz
attributes.phtml
plik. Ten plik można znaleźć tutaj:/app/design/frontend/[theme name]/[package name]/template/catalog/product/view/attribute.phtml
Otwórz plik i wyszukaj następujące linie:
Zastąp całą pętlę foreach następującymi wierszami kodu:
źródło
Problem rozwiązany :) Rozwiązanie jest tutaj: http://www.magentocommerce.com/boards%20/viewthread/294064/#t407742
Moduł działa poprawnie z magento 1.8.1. Nie trzeba kupować modułu ani edytować żadnego kodu.
Dzięki Niro (twórca tego modułu)
źródło
Łatwy sposób, ale niekoniecznie lepszy niż inne.
Zaktualizuj plik tłumaczenia
Mage_Catalog.csv
. Ustaw puste wartości, jak poniżej.Atrybuty interfejsu zostaną zignorowane, gdy Nie lub Nie.
źródło
Czasami spotykamy sklep, który chce mieć wiele różnych atrybutów produktu, ale chcą tylko domyślnego zestawu atrybutów. Oznacza to, że każdy produkt będzie miał powiedzmy ponad 10 opcji, które czasami nie dotyczą niektórych produktów. Na przykład odzież może wymagać atrybutu rozmiaru, ale mebel nie. Ponieważ sklep używa tych samych zestawów atrybutów dla każdego produktu, pusty atrybut rozmiaru będzie wyglądał następująco:
Jest to oczywiście bardzo mylące dla klientów, dlatego lepszym rozwiązaniem byłoby ukrycie pustych wartości atrybutów. Można to zrobić za pomocą małego fragmentu kodu. Znajdź i otwórz
attributes.phtml
plik. Ten plik można znaleźć tutaj:app/design/frontend/default/[theme name]/template/catalog/product/view/attribute.phtml
Otwórz plik i wyszukaj następujące linie:
Zastąp całą pętlę foreach następującymi wierszami kodu:
Otóż to! Puste atrybuty będą teraz ukryte na stronach produktów. Nie zapomnij odświeżyć pamięci podręcznej, aby zobaczyć zmiany.
Źródło : https://tejabhagavan.blogspot.in/2016/03/hide-magento-attributes-with-no-value-2.html
źródło