Skocz do zawartości

Rekomendowane odpowiedzi

Tworząc moduł w pliku form.tpl umieszczam link

 

<a href="{$link->getAdminLink('AdminCustompdf', true, NULL)}">{l s='PDF'}</a>

 

Ale niestety nie widzi mi kontrolera "Nie znaleziono kontrolera".  A był tworzony już na wiele sposobów jeżeli chodzi o nazwę, myślałem że tam jest błąd; umiejscawiam go w katalogu mymodule\controllers\admin\

 

Chciałbym aby pod linkiem generował mi PDF.

Mam klasę która dziedziczy po HTMLTemplate, i tą klasę includuje w kontrolerze.

 

Czy może muszę coś dopisać w pliku głównym modułu w instalce ?

 

Z góry dzięki.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To musiałeś gdzieś pomylić nazwę pliku albo klasy, zobacz jak wyglądają domyślne kontrolery i analogicznie będzie u ciebie tylko w przy dodawania musisz podać nazwę modułu.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Też tak właśnie myślę - wielkiej filozofii nie ma tu raczej - analizowałem jak to działa w adminie i na froncie, spróbuje później lub jutro na świeżym umyśle to ogarnąć.

Jeszcze dużo przede mną ale walczę dalej:)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Albo się zapętliłem albo niewiedza. Więc rozpiszę się.

 

moduł nazywa się pmvoucher, do niego jest napisana klasa kontrolera AdminPmvoucherController, która dziedziczy po ModuleAdminController (AdminPmvoucherController.php).

Generalnie działa to tak, że podczas składania nowego zamówienia jest dodawany rekord do bazy danych, gdzie zapisywany jest m.in. nr vouchera generowany w funkcji.

W trakcie instalacji jest dodawana zakładka w menu admina, i kieruje ona do listy tych generowanych voucherów podczas zakupu na sklepie.

 

I teraz chciałbym aby po przejściu do jednego z voucherów można było otworzyć plik pdf gdzie będzie m.in kod vouchera. I tu się zaczynają schody...

 

mam takie pliki co do funkcjonalności pdf:

 

pmvoucher/custompdf.php - class Custompdf extends HTMLTemplate 

pmvoucher\views\templates\admin\pmvoucher\helpers\form\form.tpl  -  <a href="{$link->getAdminLink('AdminCustompdf', true, NULL)}">{l s='PDF'}</a>

pmvoucher\controllers\admin\AdminCustompdfController.php - poniżej zawartość pliku

<?php
require_once _PS_MODULE_DIR_ . 'pmvoucher/custompdf.php';

class AdminCustompdfControllerCore extends AdminController{
	
	public $php_self = 'CustomPdf';
	protected $display_header = true;
	protected $display_footer = true;
	public $content_only = true;

	public function postProcess(){
		parent::postProcess();
		// We want to be sure that displaying PDF is the last thing this controller will do
		exit;
	}
	public function display(){   
		$pdf = new PDF($custom_object, 'CustomPdf', Context::getContext()->smarty);

		$pdf->render(); 
	} 
}

dostaję ciągle komunikat Nie znaleziono kontrolera

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tak.

 

Jak pisałem sprawdź 

class AdminCustompdfController extends AdminModuleController {...}

i koniecznie dodaj zakładkę (nie musi być widoczna ale musi istnieć) i powinno działać jak należy.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

image.jpg

i nic... gdzieś jest głupi błąd znając życie

 

//--------- EDIT:

 

do pliku głównego modułu dodałem 

require_once _PS_MODULE_DIR_ . 'pmvoucher/Custompdf.php';
 
a w metodzie hookActionValidateOrder
$pdf = new PDF($custom_object, 'CustomPdf', Context::getContext()->smarty);
$pdf->render();
 
podczas zakończenia zamówienia powinien pojawić się pdf w przeglądarce i niestety się nie pojawia...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ok rozumiem już o co chodzi tutaj. Określiłem też moduł w tym menu.

 

Jednak po kliknięciu dostaję białą stronę. Tak czy owak powinienem wywołać pdf chyba..

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Włączony mam od początku:) 

 

Z tego wszystkiego przestudiowałem PrestaShop Module Development - Ebook, no i nie znalazłem nic, zmieniłem tylko żeby dziedziczył po ModuleAdminController.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

zrobiłem jeszcze raz te całe pdf'y i dodałem je do hooka przy zmianie płatności aby wykluczyć czy z klasą pdf jest coś nie tak i jej wywołaniem

 

wszystko działa, więc przyczepiłem się do kontrolera, i tam źle wywoływałem generowanie pdf, tak wygląda teraz moj kontroler

require_once _PS_MODULE_DIR_ . 'pmvoucher/HTMLTemplateCustomPdf.php';

class AdminCustomPdfController extends ModuleAdminController
{
	public function __construct($custom_object)
	{
		$pdf = new PDF($custom_object, 'CustomPdf', Context::getContext()->smarty);
		$pdf->render();
	}
}

Kłopot był jeszcze w nazewnictwie klasy HTMLTemplateCustomPdf, stosowałem inną nazwę a nie wiedzieć czemu musi chyba mieć w nazwie HTMLTemplate, stąd plik nazywa się HTMLTemplateCustomPdf.php a klasa HTMLTemplateCustomPdf która dziedziczy po HTMLTemplate - nie jestem pewien tego co piszę więc w razie błędu proszę o sprostowanie.

 

Pytanie jest jeszcze dotyczące kontrolera - czy mogę wywołać pdf w konstruktorze? czy warto coś tam dopisać w kwestii bezpieczeństwa itp?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



  • Podobna zawartość

    • Przez Netteria.NET
      Firma Netteria.NET oferuje szeroki zakres usług wsparcia dla sklepów zbudowanych w oparciu o PrestaShop. Oferujemy między innymi:
      Wsparcie
      Doradztwo w wyborze rozwiązań eCommerce, serwis sklepów internetowych, (stałe wsparcie techniczne), wsparcie i gwarancje po wykonanym projekcie sklepu. Projektowanie modułów dla prestasop.
      Projektowanie nowych modułów, według ustaleń, dostosowanych do indywidualych zadań, modernizacja oraz aktualizacja działajacych modułów, moduł - niezależny skrypt. Modyfikacje kodu sklepu.
      Wszelkie modyfikacje kodu źródłowego skryptu prestashop, modyfikacje kodu szablonu sklepu internetowgo, naprawa sklepów prestashop, naprawa sklepów "po włamaniu", aktualizacja skryptu do wyższej wersji, optymalizacja (SEO) pod wyszukiwarki internetowe, optymalizacja wydajności działania sklepu. Zapraszamy do kontaktu. Chętnie odpowiemy na Twoje pytania na temat modyfikacji, rozszerzeń, wsparcia, oraz naprawy dla sklepów prestashop.
      Zainteresowanych zapraszam do kontaktu: Prestashop - naprawa i pomoc
      Oferujemy również kompleksowe  wsrożenia sklepów PrestaShop - Budowa sklepów internetowych opartych na PrestaShop
       
    • Przez Actuna
      Świeża instalacja w wersji 1.6.1.20, włączony multisklep, php5.6 (opcjonalnie mogę wyżej tylko na 7.0, 7.1),
      domyślny szablon, dwa języki PL, EN.
      Objaw: Po instalacji np modułu dowolnego (np: Block CMS, Blok informacji kontaktowych, Blok Lubie to na FB, )
      w administratorze ładnie mogę po zmieniać treści, ustawienia ...
      Pierwsze wejście na stronę sklepu -> wszystko pojawia się poprawnie, 
      ale jak dam odśwież ekran, to pojawiają się domyślne teksty ... i tak z każdym modułem,
      raz j=na jakiś czad odświeżania pojawią się prawidłowe treści.
      Po zmianie danych w modułu, kolejne odświeżenie strony jest prawidłowe, kolejne już nie ...
      Co próbowałem:
      1 - wyłączenie cache = brak problemu
      2 - przebudowanie cache z poziomu administratora = pierwsze wejście prawidłowe, kolejne z nieprawidłową wartością
      3 - ręczne usunięcie plików cache = pierwsze wejście prawidłowe, kolejne z nieprawidłową wartością
      4 - od instalowanie modułu, ponowna instalacja i konfiguracja = pierwsze wejście prawidłowe, kolejne z nieprawidłową wartością
       
      Jakiś cyrk ... mam problem z różnymi modułami, skończyły mi się pomysły gdzie może być problem.
       
      W ramach podejścia nie standardowego zauważyłem, że edycja plików *.tpl danego modułu w katalogu szablony sklepu, 
      taka jak dodanie pustej linii, spacji i zapisanie pliku, rozwiązuje problem do czasu kolejnej zmiany w danych danego modułu.
      (cache włączone).
      Powyższe rozwiązanie traktuje jako obejście problemu, a nie jego rozwiązanie,
      prawdopodobnie problem jest błachy. 
    • Przez AnkaW
      Cześć
      Wybaczcie początkującej ale mam pewnie banalny problem jednak jakoś nie mogę znaleźć rozwiązania.
      Zaczęłam budować własny moduł. Działanie modułu polega na wypełnieniu pół formularza, przejściu dalej, kolejny widok i na podstawie poprzedniego formularza wyświetlam kolejny formularz, i tak do czwartego kroku finalnego gdzie na podstawie ostatniego formularza wyświetlam produkty i mogę je dodać do koszyka.
      To moja pierwsza próba z samodzielnym pisaniem modułu przepraszam więc za może błahe pytanie.
      Jak przejść w obrębie tego modułu między kolejnymi widokami?
      Mam zrobiony kontroler w controllers/front o nazwie widok1.php do tego mam views/templates/front pliki skladak.tpl (to takie główne opakowanie) i widok1.tpl. W skladak.tpl mam include widok1.tpl zrobiony. I jak teraz przejść dalej do kolejnych widoków? Wiem że jestem może głupia blondynka ale nie mogę do tego dojść.
      Anka
    • Przez Mr_DiPi
      Na Prestashop addons pojawił się oficjalny oczywiście płatny moduł mający dostosowywać Prestashop do wymagań wynikających z RODO.
       
      Czy jest tu na forum ktoś bliżej zapoznany z tą tematyką, czy ten moduł autentycznie wystarczy?
       
      Może ktoś go testował?
       
      Albo jak planujecie się dostosować do RODO? 
    • Przez daars_pl
      Witam,
      Czy ktoś jest w stanie polecić moduł sprawnej wyszukiwarki produktów, lub ew. możliwość modyfikacji standardowej ?
      Tak aby przy produktach typu VR-50HD nie było kłopotu znalezienia go przy frazach 'vr50hd' 'vr 50hd' 'vr 50 hd' 'vr50-hd' 'vr50' itp. opcje wpisywania z odstępami, myślnikami i bez ?
      I żeby wyszukiwarka nie wyświetlała dodatkowo wielu niepotrzebnych produktów, które wcale nie mają takiej frazy w nazwie czy kategorii ? Ustawienia wag w panelu adm. nic nie dają.
      Pozdrawiam
  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7 721
    • Postów
      36 979
×