[solved] Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
[solved] Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
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.
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.
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
Zkus se podívat na tohle, to y ti mělo pomoct: http://forum.cmsmadesimple.org/index.php/topic,10188.msg223502.html#msg223502
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
Pekne riesenie, ja by som to riesil zasahom v PHP kode. Toto si retwittnem.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
Yes, it's me: MleCMS, MleDomains, ModuleGenerator, URLWatchdog, Youtuber, Extended Content Blocks, Extended Tools, Analytics etc.
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
tak to je paráda, díkyosxfil wrote: Zkus se podívat na tohle, to y ti mělo pomoct: http://forum.cmsmadesimple.org/index.php/topic,10188.msg223502.html#msg223502
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
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:
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í:
šablona pro výpis produktů:
a cílem hry je, že když kliknu na danou kategorii, tak se mi ukážou produkty v ní, ale pouze daný počet...
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:
kde se to cntnt01 před tím pagelimit mění.index.php?mact=Products,cntnt01,default,0&cntnt01category=Bokeh&cntnt01pagelimit=1&cntnt01productid=3&cntnt01page=2&cntnt01returnid=16
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}
Code: Select all
<div id="obrazy_bg">
<div id="obrazy_categories">
{Products action='categorylist'}
</div>
<div id="obrazy_categories_footer"></div>
...
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
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.
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
Zdar, pomůže mi prosím někdo, jak mám pomocí smarty ( přiznám se , neumím ) 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ííííííky.
Jsem to napsal , uf , snad pochopíte co chci . Dííííííky.
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
cateogory id by si mal poznat, takze potom:
{products_getcategory categoryid=1 assign='tmp'}Category name = {$tmp->name}
{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.
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
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á
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á
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
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!kuzmany wrote: Presne som nerozumel co chces dosiahnut, ale nebude fungovat? {Products action='categorylist' pagelimit='10'}
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
Jestli sem to dobre pochopil, tak skus ve vypisu produktu mezi:zmija832 wrote: Zdar, pomůže mi prosím někdo, jak mám pomocí smarty ( přiznám se , neumím ) 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ííííííky.
{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}
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
lapak, tady je celá šablona itemlist i s úpravou
takto?
Název kategorie nevypíše
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>
Název kategorie nevypíše
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
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.zmija832 wrote: lapak, tady je celá šablona itemlist i s úpravou
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}
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
modul : prodcatalogue 2.0
Re: Products - v souhrnu produktů počítání stránek typu 1 2 3 4...
To je tento modulzmija832 wrote: modul : prodcatalogue 2.0
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.