Skocz do zawartości

dwojod

Members
  • Zawartość

    249
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Posty dodane przez dwojod


  1. Aby nadpisać szablon - np form.tpl - po stronie administracyjnej w module należy utworzyć plik form.tpl w takiej lokalizacji:

     

    \modulename\views\templates\admin\controllername\helpers\form\form.tpl

     

    w miejscu nazwy kontrolera podajemy jego nazwę ale musimy użyć znaku podkreślenia _ np. jeżeli mamy AbcProduct jako nazwę kontrolera, to nazwa naszego katalogu będzie brzmiała następująco abc_product 

     

    Jeżeli chcemy sprawdzić jak nazywa się nasz kontroler możemy użyć narzędzia jakie daje nam PrestaShop: Tools::toUnderscoreCase(substr($this->controller_name, 5));

     

    testowane tylko na 1.6


  2. jak mam usunąć inne rekordy w innej tabeli bazy danych podczas akcji submitBulkdelete - warunek kiedy akcja jest uruchamiana mam raczej poprawny bo np wysłanie roboczo maila działa, ale próba uruchomienia jakiejś metody nie działa...

    if(Tools::isSubmit('submitBulkdelete'.$this->table) || Tools::isSubmit('delete'.$this->table)) {
    		mail('mail@gmail.com', 'Temat wiadomości', $message);	
    		}
    
    LUB
    
    if ($this->action == 'delete' || $this->action == 'bulkdelete') {
    mail('mail@gmail.com', 'Temat wiadomości', $message);	
    }
    

    metodę do usuwania dodatkowych rekordów z bazy tworze następująco:

    -zapisuję pod zmienną instancję klasy podając parametr id $categorygallery = new CategoryGalleryModel((int)Tools::getValue('id_categorygallery'));

    -wywołuję metodę do usuwania $categorygallery->deleteObj();

     

     

    w momencie usuwania pojedynczych rekordów ta dodatkowa metoda deleteObj działa


  3. 
    

    Postanowiłem jednak zrobić bardziej uniwersalną wersję. Tworzę nową zakładkę z listą galerii, która zawiera nazwę, ilość zdjęć i do jakiej kategorii w sklepie przypisana jest galeria.

    Próbuję wyświetlić listę kategorii z polami checkbox, nie wiem tylko jak zrobić zwijanie/rozwijanie (takie jak np przy dodawaniu produktu).

     

    kawałek kodu z metody renderForm() kontrolera obsługującego listę galerii

    $context = Context::getContext();
    $cats = Category::getCategories($context->language->id, true, false);
    foreach($cats as $key => $cat)
    {
        $categories[] = array('id_option' => $cat['id_category'], 'name' => $cat['name']);
    }
    
    array(
    	'type' => 'checkbox',
    	'label' => $this->l('Category list'),
    	'name' => 'category_list',
    	'multiple' => true,
    	'values' => array(
    		'query' => $categories,
    		'id' => 'id_option',
    		'name' => 'name',
    		'expand' => array(                      
    			'print_total' => count($categories),
    			'default' => 'show',
    			'show' => array('text' => $this->l('show'), 'icon' => 'plus-sign-alt'),
    			'hide' => array('text' => $this->l('hide'), 'icon' => 'minus-sign-alt')
    		  ),
    	)
    ),
    
    

    EDIT

    ten kawałek kodu działa: 

    array(
    'type' => 'categories',
    'label' => $this->l('Gallery category'),
    'name' => 'id_obj',
    'tree' => array(
    'id'     => 'categories-tree',
    'selected_categories'     => array(),
    //'disabled_categories' => (!Tools::isSubmit('add'.$this->table) && !Tools::isSubmit('submitAdd'.$this->table)) ? array($this->_category->id) : null,
    'root_category'     => $context->shop->getCategory(),
         'use_checkbox'     => true,
         'use_search'        => true
    )
    )
    

  4. Używam hook'a hookDisplayBackOfficeCategory do wyświetlenia formularza, formularz powstał za pomocą HelperForm, nie wiem jak obsłużyć cały formularz, jak ten plik przesłać, znajdę gdzieś jakieś info na ten temat?

     

    Może lepiej zrobić nowy kontroler do wyświetlenia tego ?


  5. chce napisać moduł który m.in. będzie przesyłał zdjęcia do sklepu, pytanie:

    czy lepiej implementować swoją bibliotekę do ładowania zdjęć, swoją mam na myśli jakąś darmową z sieci, czy korzystać z narzędzi jakie oferuje presta?


  6. ok, a czym będzie się różnił od hookActionPaymentConfirmation ?

     

    Po zainstalowaniu nowego modułu PayU, który sam zmienia status zamówienia na sklepie, zmuszony byłem zmodyfikować mój moduł który coś tam robi gdy płatność jest zaakcpetowana - no i hookActionPaymentConfirmation nie uruchamiał się. Ale za to actionPaymentCCAdd jak najbardziej działa.


  7. wiem że nie ma takiego hook'a, a to komplikuję trochę sprawę bo niestety nie wiem w jaki sposób uruchomić moją metodę w module podczas gdy do zamówienia dodawany jest kolejny produkt - wiem że tworzony jest nowy koszyk (actionCartSave) ale nie mogę znaleźć powiązania między nowo utworzonym koszykiem a zamówieniem do którego dodawany jest produkt... 

     

    Jakieś wskazówki jak to obejść? czy czeka mnie nadpisanie ajaxProcessAddProductOnOrder() ?

×