Tworzenie nowej cechy na przykładzie rozmiaru

Magento umożliwia nam zdefiniowanie nieograniczonej ilości cech opisujących produkt. W tym przykładzie opiszemy jak stworzyć nową cechę rozmiar która będzie listą rozwijaną. Następnie pokażemy jak zarządzać możliwymi atrybutami tej cechy.

Aby stworzyć cechę wybieramy w panelu administracyjnym kolejno

Katalog -> Cechy -> Zarządzaj cechami

W otwartym oknie wybieramy w otwartym oknie podajemy kolejno :

  • Kod cechy – nazwa jaką nasza cech przymnie w systemie, warto aby była w języku angielskim, nie może zawierać znaków narodowych ani spacji. więc w tym miejscu wpisujemy size.
  • Zasięg – określa dla jakiego poziomu cecha ma być widoczna, w większości przypadków najlepiej będzie wybrać Globalny
  • Typ pola – tu decydujemy jaką formę ma przyjąć pole do uzupełniania naszej cechy. Wybieramy menu rozwijalne, dzięki temu operator sklepu będzie mógł, definiując tą cechę, wybrać jej wartości z lisy. Unikniemy dzięki temu zbędnych pomyłek i literówek w przyszłości.
  • Wartości wymagane – tu decydujemy czy uzupełnienie tej cechy będzie obowiązkowe przy tworzeniu produktu.

Następnie przechodzimy do zakładki Zarządzaj etykietami / opcjami.

Tutaj w grupie pól Zarządzaj tytułami (rozmiar, kolor, itp.) decydujemy jak będzie sie nazywała nasza cecha.

Natomiast w Zarządzaj opcjami (wartości Twojej cechy) definiujemy wartości jakie będzie mogła przyjmować. Aby dodać nowa wartość klikamy Dodaj opcję i w polu Admin wpisujemy nazwę cechy widoczną przez obsługę sklepu, w polu Default Store View podajemy nazwę opcji jaka zobaczą klienci naszego sklepu, pole pozycja określa która z kolei będzie nasza nowa opcja na liście rozwijanej.

W ten oto sposób stożyliśmy nową cechę dla naszego produktu, cechę ta należy jeszcze dodać do zestawu cech naszego produktu.

Błąd powrotu do panelu przy filtorwaniu.

Nowością w Magento 1.4.1 jest to, że mamy możliwość filtrowania, która odbywa się w sekcji Sprzedaż > Zamówienia, strona jest wtedy aktualizowana przez AJAX’a przy każdej próbie filtracji. Niestety skutkuje to nieokreślonym błędem, a mianowicie przy każdej aktualizacji Ajaxa poprzez wywołanie działania (Cancel, Hold, Print Invoices itd.) przestaje ono działać. Zamiast wykonania konkretnego działania jesteśmy przenoszeni do panelu głównego.
Dzieje się tak ponieważ po updacie Ajaxa Magento nie może w pełni załadować układu strony i ciągle przetrzymuje w pamięci klucz uwierzytelniający potrzebny do złożenia zamówienia. Tracimy wtedy odpowiedź, która jest przesyłana oraz powinna zostać wyświetlona na stronie.

Aby rozwiązać ten problemy musimy przejść do katalogu app/design/adminhtml/default/ default/template/widget/grid/ gdzie odnajdujemy plik massactions.phtml do którego wprowadzimy następujące zmiany wpisując kod znajdujący poniżej:

getBlockHtml('formkey')?>

oraz

Po przeprowadzaniu zmian i odświeżeniu panelu Sprzedaż > Zamówienia zostanie zapamiętany nasz wybór ponieważ zostanie przeprowadzone pełne ładowanie strony po wykonaniu działania.
Jeśli potrzebujesz pomocy przy usunięciu tego lub innego błędu zwróć się do nas chętnie pomożemy.

Dodawanie niestandardowych arkuszy stylów i bibliotek js.

W sklepie internetowym Magento mamy do dyspozycji bardzo ciekawą możliwość związaną z personalizacją naszego sklepu, a mianowicie możemy dołączać dodatkowe zewnętrzne pliki arkusza stylów (CSS) w celu np: zmiany wyglądu, układu lub pliki Javascript i biblioteki Ajax’a (js), które mogą dodać nowe funkcjonalności do sklepu. Pliki, które chcemy włączyć do naszego nowego projektu muszą zostać skopiowane do odpowiednich folderów.

Arkusze stylów kopiujemy do folderu /skin/frontend/default/new_theme/css/. Następnie po skopiowaniu arkuszy stylów musimy podpiąć te pliki (zlinkować). Nowy plik importujemy bezpośrednio do pliku local.css, a polecenie które go importuje wygląda tak:

@import url("my_new.css '); 

Dla plików JavaScript i bibliotek Ajaxowych sprawa wygląda trochę inaczej. Najpierw tworzymy nowy folder w folderze głównym /js/name_new_theme i kopiujemy do niego pliki. Jeśli chcemy skorzystać z gotowych bibliotek javascript np: Ajax, to również możemy skorzystać z takiego nowo utworzonego folderu.
Pliki Javascripta i bibliotek dodajemy do tematu poprzez dodanie poniższych informacji do pliku local.xml:

      
           ...
           
           ...
               
                   ...
                   
                       
             
                   ...
               
           ...
           
           ...
       

Jeżeli chcesz zwiększyć funkcjonalność lub spersonalizować wygląd swojego sklepu skontaktuj się z nami, chętnie pomożemy.

Błąd soap w Magento 1.4.1.0

W najnowszej wersji magento 1.4.1.0 pojawił się błąd związany z obsługą protokołu SOAP. Objawia on się komunikatem magento

Parse error: syntax error, unexpected T_PUBLIC in code/core/Mage/Api/Model/Server/Adapter/Soap.php on line 144

lub

Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in /var/www/imp/import2_ajax.php:14 Stack trace: #0 [internal function]: SoapClient->__call(’login’, Array) #1 /var/www/styloweklamki.pl/imp/import2_ajax.php(14): SoapClient->login(’*****’, '*****’) #2 /var/www/imp/import2_ajax.php(58): import_image->__construct() #3 {main} thrown in /var/www/imp/import2_ajax.php on line 14

Błąd ten jest wywołany błędnie zamkniętym nawiasem klamrowym w obrębie funkcji

    /**
     * Run webservice
     *
     * @param Mage_Api_Controller_Action $controller
     * @return Mage_Api_Model_Server_Adapter_Soap
     */
    public function run()

Jego poprawienie jest bardzo proste, należy w lini 133 w pliku app/code/core/Mage/Api/Model/Server/Adapter/Soap.php usunąć nadmiarowy znak „}”

Linia ta po modyfikacji powinna wyglądać tak

        } else

Jeżeli potrzebujesz pomocy z innym błędem, skontaktuj się z nami, chętnie udzielimy pomocy w jego rozwiązaniu.

Zmiana wszystkich kategori na jest kotwicą

Aby magento wyświetliło nam produkty z podkategorii należy zmienić jej właściwość „Jest kotwicą” (en „Is Anchor”) na tak. Jeżeli w sklepie mamy dużą ilość kategorii, ręczna zmiana tej właściwości może być bardzo kłopotliwa i czasochłonna.

Na szczęście jest prosty sposób wykonania takiej operacji, jeżeli tylko posiadamy dostęp do bazy danych. Wystarczy wykonać poniższe zapytanie.

 INSERT INTO `catalog_category_entity_int` ( `entity_type_id` , `attribute_id` , `store_id` , `entity_id` , `value` )
SELECT 3 as entity_type_id, 43 as attribute_id, 	0 as store_id, 	entity_id, 1 as	value FROM `catalog_category_entity_int` group by entity_id

Jeżeli otrzymamy komunikat typu
#1062 – Duplicate entry '3-2-43-0′ for key 2

powinniśmy najpierw skasować już istniejące właściwości

DELETE FROM `catalog_category_entity_int` WHERE `attribute_id` =43

i powtórzyć pierwsze zapytanie do bazy.