$listaProduktow=listProducts($sFile,36); Ale nie tak szybko!!! jeśli używasz tego wewnątrz klasy (pliku), gdzie listProducts się znajduje, to musisz napisać tak: $listaProduktow=$this->listProducts($sFile,36); jeśli chcesz uruchomić to z innego pliku, to musisz wywołać instancję klasy Products. jeśli zmiennymi iList i aProducts nie masz nic do przekazania, to nie musisz ich wpisywać w argumenty. są one przy deklaracji funkcji już zainicjowane wartościami 'null'
ZAŁOŻENIA: Chcę wyświetlić listę produktów wszędzie i zawsze powiedzmy nad całym ontenerem strony
Chcę żeby tpl do tej listy produktów był pobierany niejako z osobnego szablonu "produkty_okazja.tpl " - bo chę tylko foto + link
Do tego chcę zależnie od tematu wyświetlać inną listę dlatego w pliku tematu zapisuje sobie je do zmiennej Temat DEFAULT- $listaProduktow = listProdukt....id36 Temat SAMOCHODY- $listaProduktow = listProdukt....id55
a w container.tpl to już będzie ta sama zmienna wszędzie
i rozumiem że jak trafię na stronę z tą listą to będzie problem ? więc powinienem zrobić warunek że jak jestem na tej stronie to wtedy generój listę inaczej - czy dobrze chwytam ???
if (!=36) { $listaProduktow=listProducts($sFile,36); } else { $listaProduktow=$this->listProducts($sFile,36); }
Zrobiłem jednak ajaxem (przez pobranie fragmentu z listą prodóktów z innej strony, a id tej strony na podstawie #product h4 a < pierwsze) tu efekt: http://www.larimaraachen.de/gesichtsbehandlungen-3.html
Działało dobrze ale problem był gdy strona miała niższe id niż produkt i po jakimś czasie się poddałem po prostu. W wolnej chwili pomęczę to rozwiązanie jeszcze bo jak na tą chwilę mój umysł jeszcze nie ogarnia "...o co chodzi z używaniem klasy poza nią,..."
Podepnę się po temat, ponieważ mam zbliżony problem. Otóż chcę za pomocą type=radio filtrować produkty na danej stronie. I widze to tak, że po zaznaczeniu odpowiedniej opcji klikam na przycisk "filtruj" i wówczas powinna pojawić mi się strona z konretnymi id produktów przypisanych do odpowiedniego radio. Mam nadzieję, że jakoś jasno się okresliłem i ktoś będzie znał odpowiedź :)
Jednym z rozwiązań może być: 1. Zdefiniuj odpowiednią ilość ukrytych stron i przypisz do nich odpowiednie produkty; 2. Jako value radioButtona wstaw odpowiedni numer strony; 3. Po kliknięciu na "filtruj" przerzuć to przez listProducts(), gdzie parametr $iContent ma mieć wartość klikniętego radioButtona.
Mam pytanie: jak w każdym produkcie można wyświetlać zawartość danej strony np o ID=30? Mam tam jakiś opis i chciałbym za pomocą zmiennej wczytywać go do każdego produktu, bo bez sensu jest wklejanie do każdego produktu tego samego tekstu..
Jeśli to tylko opis bez obrazków, to wrzuć to w /lang/xx.php jako: $lang['my_long_not_changing_description']="Ten tekst będzie widoczny w każdym produkcie, jeśli wrzucisz"; jeśli wrzucisz $lang['my_long_not_changing_description'] do: /templates/products_default.tpl np. nad: $sFilesList w div id="product"
dzięki boboo, ale zależy mi jednak nad tym aby był to tekst z kategorii, musi być edytowany z cms. Może ma ktoś jakieś rozwiązanie ? Coś na wzór: $sProductsInColumn = $oProduct->listProducts( 'pages_default.tpl', ID_PODSTRONY, 999 );
No to weź w /actios_client/products.php tam gdzieś, gdzie są te $sAvailable=... $sTxtSize=... dopisz: $aPageData=$oPage->throwPage(30); $sConstAddDescription=$aPageData['sDescriptionFull'];
30 to ID strony, na której jest text, i w zależności od tego czy bierzesz text z opisu krótkiego czy długiego, odpowiednio daj 'sDescriptionShort' lub pozostaw 'sDescriptionFull'
No i wrzuć ten $sConstAddDescription w templatkę produktów.