Kalbų keitimas produktų summary puslapiuose

Lietuviškas CMS Made Simple forumas

Moderator: Augustas

Post Reply
McF
Forum Members
Forum Members
Posts: 108
Joined: Thu Dec 27, 2007 5:27 pm

Kalbų keitimas produktų summary puslapiuose

Post by McF »

Sveiki,

Čia ne klausimas, o pasidalinimas kodu. Gal kam prireiks, o gal kas ir klaidų ras.
Problema: jeigu naudojamas Products modulis ir vidinė PrettyURL sistema, tuomet problematiška esant kažkokiame produktų puslapyje pereiti į tą patį kitos kalbos produktų puslapį (pvz. būnant 4ame produktų puslapyje lietuvių kalba atsidaryti anglišką 4ą produktų puslapį).

Mano sprendimas:
lietuviska_summary:

Code: Select all

{* jeigu nenurodytas puslapis arba jis pirmas, tai nebūtina išsidirbinėti *}
{if $actionparams.page > 1 }
  {* sudarome puslapio URL pradžią *}
  {capture assign=link_page_url}http://{$smarty.server.SERVER_NAME}/index.php?mact=Products,cntnt01,default,0{/capture}
  {foreach from=$actionparams key=k item=v}
    {if $k eq 'returnid'}
      {* kaitaliojame puslapių ID, kad teisingai rodytų kalbų šablonus *}
      {if $content_id eq '60'}        {* Produktai *}
        {assign var="v" value=69}
      {/if}
      {if $content_id eq '74'}        {* Produkcijos naujienos *}
        {assign var="v" value=79}
      {/if}
      {if $content_id eq '80'}        {* test *}
        {assign var="v" value=85}
      {/if}
    {/if}
    {* toliau formuojame URL *}
    {capture assign=temp}&cntnt01{$k}={$v|escape:'url'}{/capture}
    {capture assign=link_page_url}{$link_page_url}{$temp}{/capture}
  {/foreach}
  {* pridedame, kad rodysime kitą summary šabloną *}
  {capture assign=link_page_url}{$link_page_url}&cntnt01summarytemplate=english_summary{/capture}
{/if}
english_summary:

Code: Select all

{if $actionparams.page > 1 }
  {capture assign=link_page_url}http://{$smarty.server.SERVER_NAME}/index.php?mact=Products,cntnt01,default,0{/capture}
  {foreach from=$actionparams key=k item=v}
    {if $k eq 'returnid'}
      {if $content_id eq '69'}        {* Produktai *}
        {assign var="v" value=60}
      {/if}
      {if $content_id eq '79'}        {* Produkcijos naujienos *}
        {assign var="v" value=74}
      {/if}
      {if $content_id eq '85'}        {* test *}
        {assign var="v" value=80}
      {/if}
    {/if}
    {if  $k ne 'summarytemplate'}
      {capture assign=temp}&cntnt01{$k}={$v|escape:'url'}{/capture}
      {capture assign=link_page_url}{$link_page_url}{$temp}{/capture}
    {/if}
  {/foreach}
{/if}
puslapio šablone (template) reikia Template reikia pakoreguoti vilkio šokinėjimo tarp puslapių metodą:

Code: Select all

<a href="{if $link_page_url gt ''}{$link_page_url}{else}{if $link gt ''}{cms_selflink href=$link}{else}{if $lang eq "en_US"}{cms_selflink href="titulinis"}{else}{cms_selflink href="main-page"}{/if}{/if}{/if}" id="{if $lang eq "en_US"}lietuviskai{else}english{/if}"></a>
Post Reply

Return to “Lithuanian - Lietuviškai”