[solved] Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Česká/Slovenská podpora pro CMS Made Simple
Post Reply
lapak
Forum Members
Forum Members
Posts: 33
Joined: Mon Sep 06, 2010 8:43 pm

[solved] Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by lapak »

Zdravím české CMSMSáře :) Právě stavím jeden e-shop na callguyových modulech (Products, Orders, Cart, atd.) a mám jeden opravdu lame dotaz.
Tvořím šablonu pro souhrn produktů (action=default) a potřebuji tam počítání stránek ve stylu [1 2 3 4 5 ...], zatímco defaultní počítání je stylem [první předchozí další poslední]. S čím nějvíc bojuju, co by vlastně vyřešilo můj problém, tak nejlépe v nějaké smarty proměnné získat url pro konkrétní číslo stránky. Bohužel proměnné, které jsou v modulu k dispozici, tak právě počítají s tou variantou jak jsem zmiňoval, takže mám k dispozici url pro první, poslední, předchozí a další stránku. A tyto url jsou bohužel docela komplikované a dynamické, že hardcodovat odkaz, kde by se jenom měnilo číslo stránky asi taky není možné (teda alespoň pro mě :) ). Ještě jsem zkoušel trošku šiléné řešení, že jsem vzal url třeba následující stránky a v ní jsem se pokoušel pomocí smarty modifiers nahrazovat page=? za moje číslo stránky. Problém je v tom, že to číslo na místě otazníku se taky pokaždé mění a se zástupnýma znakama ve smarty si taky moc nerozumím (a ani v dokumentaci jsem toho moc nenašel). Nejde ani použít url pro první stránku, kde by mělo být vždy page=1, protože pokud jsme právě na první stránce, tak v té proměnné ten odkaz není.

Doufám že moje krkolomné vysvětlování pochopíte a díky za odpovědi a nápady.
Last edited by lapak on Sat Sep 11, 2010 5:53 pm, edited 1 time in total.
osxfil
Forum Members
Forum Members
Posts: 186
Joined: Wed Apr 01, 2009 6:03 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by osxfil »

kuzmany
Power Poster
Power Poster
Posts: 448
Joined: Tue Oct 10, 2006 5:00 pm
Location: Bratislava

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by kuzmany »

osxfil wrote: Zkus se podívat na tohle, to y ti mělo pomoct: http://forum.cmsmadesimple.org/index.php/topic,10188.msg223502.html#msg223502
Pekne riesenie, ja by som to riesil zasahom v PHP kode. Toto si retwittnem.
Yes, it's me: MleCMS, MleDomains, ModuleGenerator, URLWatchdog, Youtuber, Extended Content Blocks, Extended Tools, Analytics etc.
lapak
Forum Members
Forum Members
Posts: 33
Joined: Mon Sep 06, 2010 8:43 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by lapak »

osxfil wrote: Zkus se podívat na tohle, to y ti mělo pomoct: http://forum.cmsmadesimple.org/index.php/topic,10188.msg223502.html#msg223502
tak to je paráda, díky :)
lapak
Forum Members
Forum Members
Posts: 33
Joined: Mon Sep 06, 2010 8:43 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by lapak »

Ještě řeším jednu drobnost ohledně výpisu kategorií, tak nebudu zakládat nové vlákno:

v šabloně přehledu používám výpis kategorií pomocí {Products action='categorylist'} a v dané šabloně výpisu kategorií mám odkazy na zobrazení daných kategorií přes {$obj->summary_url}. Co bych ale potřeboval, tak v té url (nebo klidně i jinak) předat parametr pagelimit pro omezení počtu produktů na stránce. Pouhým přidáním &pagelimit= to bohužel nejde, protože ten link vypadá např takhle:
index.php?mact=Products,cntnt01,default,0&cntnt01category=Bokeh&cntnt01pagelimit=1&cntnt01productid=3&cntnt01page=2&cntnt01returnid=16
kde se to cntnt01 před tím pagelimit mění.

asi by stačilo nějak vytáhnout ten cnt... z proměnné mact? Ale mě jde z polí a objektů ve smarty úplně hlava kolem...

přikládám šablony pro lepší představu, nebo kdyby někoho napadlo lepší řešení:
výpis kategorií:

Code: Select all

{* init category name *}
{foreach from=$items item=entry}
	{foreach from=$entry->categories item='category'}{/foreach}
{/foreach}
{foreach from=$categorylist item='obj' name='foreach_categories'}
	{if $obj->name == $category->name}
		<a href="{$obj->summary_url}"><span class="obrazy_categories_active">{$obj->name}</span></a>
    {else}
		<a href="{$obj->summary_url}">{$obj->name}</a>
	{/if}
	{if $smarty.foreach.foreach_categories.last != true}
		<img src="images/obrazy_caregories_spacer.png" width="28" height="6" />
	{/if}
{/foreach}
šablona pro výpis produktů:

Code: Select all

<div id="obrazy_bg">
	<div id="obrazy_categories">
		{Products action='categorylist'}
	</div>
	<div id="obrazy_categories_footer"></div>
...
a cílem hry je, že když kliknu na danou kategorii, tak se mi ukážou produkty v ní, ale pouze daný počet...
kuzmany
Power Poster
Power Poster
Posts: 448
Joined: Tue Oct 10, 2006 5:00 pm
Location: Bratislava

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by kuzmany »

Presne som nerozumel co chces dosiahnut, ale nebude fungovat? {Products action='categorylist' pagelimit='10'}
Yes, it's me: MleCMS, MleDomains, ModuleGenerator, URLWatchdog, Youtuber, Extended Content Blocks, Extended Tools, Analytics etc.
zmija832
Forum Members
Forum Members
Posts: 29
Joined: Wed Jan 06, 2010 12:51 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by zmija832 »

Zdar, pomůže mi prosím někdo, jak mám pomocí smarty ( přiznám se , neumím  ;D ) nechat vypsat název kategorie v Product catalogue v šabloně itemlist (v zobrazení produktů dané kategorie se nezobrazuje název kategorie, jen produkty).

Jsem to napsal , uf , snad pochopíte co chci  :D.  Dííííííky.
kuzmany
Power Poster
Power Poster
Posts: 448
Joined: Tue Oct 10, 2006 5:00 pm
Location: Bratislava

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by kuzmany »

cateogory id by si mal poznat, takze potom: 

{products_getcategory categoryid=1 assign='tmp'}Category name = {$tmp->name}
Yes, it's me: MleCMS, MleDomains, ModuleGenerator, URLWatchdog, Youtuber, Extended Content Blocks, Extended Tools, Analytics etc.
zmija832
Forum Members
Forum Members
Posts: 29
Joined: Wed Jan 06, 2010 12:51 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by zmija832 »

hází hlášku

string(137) "Smarty error: [in temporary template line 1]: syntax error: unrecognized tag 'products_getcategory' (Smarty_Compiler.class.php, line 590)" Category name =

id kategorie by mělo být vždy aktuální zobrazené kategorie, protože template itemlist je pro všechny kategorie stejná
lapak
Forum Members
Forum Members
Posts: 33
Joined: Mon Sep 06, 2010 8:43 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by lapak »

kuzmany wrote: Presne som nerozumel co chces dosiahnut, ale nebude fungovat? {Products action='categorylist' pagelimit='10'}
Tak tohle me nenapadlo, cekal jsem ze tim se nastavi pagelimit pro ten category list a ono se tim fakt nastavi pagelimit az pro odkazy z toho categorylistu :) Kdo by to byl rek :) Diky!
lapak
Forum Members
Forum Members
Posts: 33
Joined: Mon Sep 06, 2010 8:43 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by lapak »

zmija832 wrote: Zdar, pomůže mi prosím někdo, jak mám pomocí smarty ( přiznám se , neumím  ;D ) nechat vypsat název kategorie v Product catalogue v šabloně itemlist (v zobrazení produktů dané kategorie se nezobrazuje název kategorie, jen produkty).

Jsem to napsal , uf , snad pochopíte co chci  :D.  Dííííííky.
Jestli sem to dobre pochopil, tak skus ve vypisu produktu mezi:
{foreach from=$items item=entry} a prislusnym {/foreach}
tohle:

Code: Select all

{if isset($entry->categories)}
       Categories: 
       {foreach from=$entry->categories item='category'}
         {$category->name}, 
       {/foreach}
       <br/>
 {/if}
zmija832
Forum Members
Forum Members
Posts: 29
Joined: Wed Jan 06, 2010 12:51 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by zmija832 »

lapak, tady je celá šablona itemlist i s úpravou

Code: Select all

<style>
{literal}
a.listitem {
    padding: 5px 15px;
    display: block;
    height: 90px;
    border-bottom: 1px solid Gray;
    text-decoration: none;
    color: #fff;
}
a.listitem img {
    float: right;
    border: 0;
}
a.listitem:hover {
    background-color: #9B172C;
}
{/literal}
</style>
{foreach from=$itemlist item="item"}
{if isset($entry->categories)}
       Categories: 
       {foreach from=$entry->categories item='category'}
         {$category->name}, 
       {/foreach}
       <br/>
 {/if}
    <a class="listitem{if $item->is_selected} active{/if}" href="{$item->detailurl}">
{if $item->image != ""}<img src="uploads/{$item->image_thumbnail}" alt=""/>{/if}
<p><br/><b>{$item->name}</b>{if $item->somecheckbox}<br/>The checkbox is checked!{/if}</p></a>
{/foreach}<p>
<INPUT onclick=history.back(); type=button value=ZPĚT> </p>
takto?

Název kategorie nevypíše  :(
lapak
Forum Members
Forum Members
Posts: 33
Joined: Mon Sep 06, 2010 8:43 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by lapak »

zmija832 wrote: lapak, tady je celá šablona itemlist i s úpravou
Používáš určitě callguyovy e-commerce moduly (Products, Cart, Orders, etc.) o kteých se tady bavíme? Pokud používáš Shop Made Simple atd. tak tam minimálně názvy těch proměnných budou jiné a já se zatím s S. Made Simple nesetkal, tak to ti moc nepomůžu.

Podle té tvoji šablony by to mělo být spíš takhle:

Code: Select all

{if isset($item->categories)}
       Categories: 
       {foreach from=$item->categories item='category'}
         {$category->name}, 
       {/foreach}
       <br/>
 {/if}
Ale to pouze v případě, že by to používalo stejné názvy a typy proměnných jako Products modul, což nejspíš nepoužívá...
zmija832
Forum Members
Forum Members
Posts: 29
Joined: Wed Jan 06, 2010 12:51 pm

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by zmija832 »

modul : prodcatalogue      2.0
kuzmany
Power Poster
Power Poster
Posts: 448
Joined: Tue Oct 10, 2006 5:00 pm
Location: Bratislava

Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...

Post by kuzmany »

zmija832 wrote: modul : prodcatalogue      2.0
To je tento modul
http://dev.cmsmadesimple.org/project/fi ... ackage-683

Toto forum je k uplne inemu modulu, a dalsia vec ze ten modul sluzi len ako demo a nie je urcene na pouzitie. Treba si vytvorit vlastny modul: http://dev.cmsmadesimple.org/project/fi ... ackage-647
Yes, it's me: MleCMS, MleDomains, ModuleGenerator, URLWatchdog, Youtuber, Extended Content Blocks, Extended Tools, Analytics etc.
Post Reply

Return to “Czech/Slovak - Česky/Slovensky”