• twitter image
  • facebook image
  • youtube image
  • linkedin image
Language: CMS Made Simple Czech CMS Made Simple France CMS Made Simple Spain CMS Made Simple Hungary CMS Made Simple Russia CMS Made Simple Netherlands

All times are UTC




Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Vysledky vyhladavania len pre dany jazyk- multijazycny web
PostPosted: Thu Aug 23, 2012 2:33 pm 
Offline
Forum Members
Forum Members

Joined: Wed Mar 16, 2011 9:13 am
Posts: 196
Zdravim

ako mam zobrazit vysledky vyhladavania len pre daný jazyk?

mam /sk/ a /cz/ verziu stranky tejto struktury
1 Slovensky
1.1 Domov
...
2 Česky
2.2 Domu
...

ked som na slovenskej a dam nieco hladat chcem aby mi dalo vysledky len zo slovenskej verzie a nie z ceskej


treba nejako doplnit zapis v sablone pre vysledky vyhldavania ale nic ma nenapada
Code:
{foreach from=$results item=entry}
<li><a href="{$entry->url}">{$entry->title}</a> ({$entry->weight}%)</li>
{/foreach}


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Mon Sep 10, 2012 8:15 pm 
Offline
Forum Members
Forum Members

Joined: Mon Sep 10, 2007 1:58 pm
Posts: 62
Location: Pardubice
Ahoj,
napadlo mě, že pokud máš v $entry->url cestu např tvujweb/sk/domu nebo tak nějak tak si v tom kolečku můžeš udělat filtr na to jestli obsahuje url znaky sk nebo cz a podle toho zobrazit jen relevantní odpovědi.
B.


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Mon Sep 10, 2012 9:04 pm 
Offline
Forum Members
Forum Members

Joined: Wed Mar 16, 2011 9:13 am
Posts: 196
ahoj

no nieco take som aj urobil

Code:
{foreach from=$results item=entry}
{assign var='url_lang' value='/'|explode:$entry->url}

{if $url_lang[3] == 'cz'}CZ{else}SK{/if}: <a href="{$entry->url}">{$entry->title}</a>
{/foreach}


teda vysledky hladania vyzeraju nejako takto

- CZ: podstranka 3
- SK: podstranka 5
_ SK: podstranka 2
- CZ: podstranka 1

Keby sa toto dalo nejako pekne usporiadat teda najprv by foreach vypisal ceske vysledky a potom slovenske alebo este lepsie keby vymazal tie slovenske vysledky ked hladam na ceskej verzii webu a opacne

neviete ako na to?


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Mon Sep 10, 2012 9:26 pm 
Offline
Forum Members
Forum Members

Joined: Mon Sep 10, 2007 1:58 pm
Posts: 62
Location: Pardubice
A proč nenapíšeš?

Code:

{foreach from=$results item=entry}
{assign var='url_lang' value='/'|explode:$entry->url}

{if $url_lang[3] == 'cz'}<a href="{$entry->url}">{$entry->title}</a>{/if}
{/foreach}

{foreach from=$results item=entry}
{assign var='url_lang' value='/'|explode:$entry->url}

{if $url_lang[3] == 'sk'}<a href="{$entry->url}">{$entry->title}</a>{/if}
{/foreach}



a protože se dá předat modulu třeba parametr jazyk ({search jazyk="sk"} tak můžeš porovnávat přímo podle parametru jazyk $params['jazyk'] a zůstane ti nakonec jen jedno kolečko s výsledkama pro daný jazyk.

Code:

{foreach from=$results item=entry}
{assign var='url_lang' value='/'|explode:$entry->url}

{if $url_lang[3] == $params['jazyk']}<a href="{$entry->url}">{$entry->title}</a>{/if}
{/foreach}



Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Mon Sep 10, 2012 9:31 pm 
Offline
Forum Members
Forum Members

Joined: Wed Mar 16, 2011 9:13 am
Posts: 196
diki toto su pre mna zase nove veci

problem je ale toto $url_lang[3] == 'sk' pretoze url adresa slovenskych podstranok neobsahuje to sk nakolko slovensky jazyk je defaultny jazyk webu (v url adresach sa nenachadza kod-skratka krajiny teda SK)


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 5:53 am 
Offline
Forum Members
Forum Members

Joined: Mon Sep 10, 2007 1:58 pm
Posts: 62
Location: Pardubice
tak co takhle?
Code:

{foreach from=$results item=entry}
{assign var='url_lang' value='/'|explode:$entry->url}

{if $params['jazyk']=='sk'}
{* cast pro defaultni jazyk, sem se to dostane jen pro hodnotu parametru sk, ktera tam ale nikdy nebude takze by tam melo byt nejake delsi jmeno stranky nebo nic pro defaultni stranku, jinak tam budou 2 znaky jazyka *}
{if $url_lang[3]|count_characters != 2}<a href="{$entry->url}">{$entry->title}</a>
{else}
{* vsechny ostatni jazyky *}
{if $url_lang[3] == $params['jazyk']}<a href="{$entry->url}">{$entry->title}</a>
{/if}

{/foreach}


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 7:29 am 
Offline
Forum Members
Forum Members

Joined: Wed Mar 16, 2011 9:13 am
Posts: 196
funguje to velka vdaka

iba som miesto $params['jazyk'] pouzil $lang co je vlastne bud SK alebo CZ (je to alias najvyssej stranky v hierarchii stranok - teda 1. resp. 2.)

jedinny detail ktory sa neda asi vyriesit je cislo poctu vysledkov ({$itemcount}): i ked sa mi zobrazia len ceske vysledky vyhladavania cislo poctu vysledkov zaratava aj slovenske vysledky hladania


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 7:50 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Tue Oct 10, 2006 5:00 pm
Posts: 426
Location: Bratislava
Najvacsi problem pri Search je, ze vysledky nevracaju id alebo alias stranky, iba url, text a vahu.

MleCMS ma ale podporu pre vyhladavanie stranok, podobny princip ako ste riesili v sablonach, akurat vsetky url musia zacinat na sk/, cz/, en/ atd. Pripadne pri internal mode index.php/sk/, index.php/cz/ atd.


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 8:37 am 
Offline
Forum Members
Forum Members

Joined: Mon Sep 10, 2007 1:58 pm
Posts: 62
Location: Pardubice
K tomu poctu vysledku: proc si neudelat primo v cyklu pocitadlo? Pred vstupem do cyklu se nastavi na 0 a v podmince se mi prihodi +1. Pak uz staci zobrazit jen promennou pocitadla a mam spravny pocet vysledku.


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 8:40 am 
Offline
Forum Members
Forum Members

Joined: Wed Mar 16, 2011 9:13 am
Posts: 196
a mohol by si mi prosim ta napisat ako by to malo vyzerat?


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 9:26 am 
Offline
Forum Members
Forum Members

Joined: Mon Sep 10, 2007 1:58 pm
Posts: 62
Location: Pardubice
udělal bych to nějak takhle (využil jsem smarty {counter})

Code:

{counter assign='pocitadlo' print=0}
{* nastavi counter, priradi do promene pocitadlo vysledek z counteru, pri prirazovani ho nebude zobrazovat, ostatni hodnoty default = od 1, krok 1, pricita *}

{foreach from=$results item=entry}
{assign var='url_lang' value='/'|explode:$entry->url}

{if $params['jazyk']=='sk'}
{* cast pro defaultni jazyk, sem se to dostane jen pro hodnotu parametru sk, ktera tam ale nikdy nebude takze by tam melo byt nejake delsi jmeno stranky nebo nic pro defaultni stranku, jinak tam budou 2 znaky jazyka *}

{if $url_lang[3]|count_characters != 2}
  {counter}{* inkermentuje pocitadlo *}
  <a href="{$entry->url}">{$entry->title}</a>
{else}
{* vsechny ostatni jazyky *}
{if $url_lang[3] == $params['jazyk']}
  {counter}{* inkermentuje pocitadlo *}
 <a href="{$entry->url}">{$entry->title}</a>
{/if}

{/foreach}
<span>počet výsledků: {$pocitadlo}</span>


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 1:06 pm 
Offline
Forum Members
Forum Members

Joined: Wed Mar 16, 2011 9:13 am
Posts: 196
diky funguje to

skoda ale ze nemozno <span>počet výsledků: {$pocitadlo}</span> umiestnit pred foreach teda nad vysledky vyhladavania pretoze vtedy vypise 0


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 1:46 pm 
Offline
Forum Members
Forum Members

Joined: Mon Sep 10, 2007 1:58 pm
Posts: 62
Location: Pardubice
tam už by pomohl jedině javascript:

Code:

<span id="solcount"></span>

{counter assign='pocitadlo' print=0}
{* nastavi counter, priradi do promene pocitadlo vysledek z counteru, pri prirazovani ho nebude zobrazovat, ostatni hodnoty default = od 1, krok 1, pricita *}

{foreach from=$results item=entry}
{assign var='url_lang' value='/'|explode:$entry->url}

{if $params['jazyk']=='sk'}
{* cast pro defaultni jazyk, sem se to dostane jen pro hodnotu parametru sk, ktera tam ale nikdy nebude takze by tam melo byt nejake delsi jmeno stranky nebo nic pro defaultni stranku, jinak tam budou 2 znaky jazyka *}

{if $url_lang[3]|count_characters != 2}
  {counter}{* inkermentuje pocitadlo *}
  <a href="{$entry->url}">{$entry->title}</a>
{else}
{* vsechny ostatni jazyky *}
{if $url_lang[3] == $params['jazyk']}
  {counter}{* inkermentuje pocitadlo *}
<a href="{$entry->url}">{$entry->title}</a>
{/if}

{/foreach}

{literal}

<script language="javascript">

document.getElementById("solcount").innerHTML = "počet výsledků:" + {$pocitadlo}
/* tady nevim jestli smarty naplni promennou pocitadlo v tagu literal, a jak je na tom MSIE nizsich verzi s plnenim innerHTML, pokud by to neslo musel by se vytvorit textovy objekt a ten pomoci append child pripojit do toho spanu, v prohlizecich by to fungovat melo */

</script>

{/literal}



Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 2:00 pm 
Offline
Forum Members
Forum Members

Joined: Wed Mar 16, 2011 9:13 am
Posts: 196
fuha vdaka

vidim ze si riadny znalec


Top
 Profile  
 
 Post subject: Re: Vysledky vyhladavania len pre dany jazyk- multijazycny w
PostPosted: Tue Sep 11, 2012 2:04 pm 
Offline
Forum Members
Forum Members

Joined: Mon Sep 10, 2007 1:58 pm
Posts: 62
Location: Pardubice
znalec rozhodně nejsem, viz moje dotazy ohledne CMSMS tady, ale weby už nějaký pátek programuju. Kdyby nechodil ten MSIE tak ti pošlu jak to napsat v JS pomocí DOM modelu,
kdyžtak dej vědět


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Arvixe - A CMSMS Partner