przełącznik wyglądu strony ?

Pomoc po polsku dla CMS Made Simple
Post Reply
User avatar
requish
Forum Members
Forum Members
Posts: 183
Joined: Sat Jan 24, 2009 3:12 pm

przełącznik wyglądu strony ?

Post by requish »

witam,

nie wiem jak to sie nazywa po angielsku wiec pisze tu :P

Chodzi o taki button na każdej podstronie który pozwala na przełączenie wyglądu strony z A na B. Przykładowo są strony gdzie mozna zmienić kolor tła, mnie chodzi o cały wygląd. Ale z pozostawieniem struktury nawigacyjnej i nazw linków itd.

Czy ktoś spotkał się z czyms takim już, miał może okazję zrobić taki dodatek?

Proszę o wskazówki i pomoc.

Pozdrawiam.
CMS Made Simple! Best CMS! :)
User avatar
kenumir
Forum Members
Forum Members
Posts: 17
Joined: Thu Mar 18, 2010 6:21 am

Re: przełącznik wyglądu strony ?

Post by kenumir »

ogólnie to nie słyszałem o takim dodatku

ja rozwiązałbym to w taki sposób że jak ktoś wchodzi na stronę i kliknie button do zmiany wyglądu to w cookie zapisuje się informacja o tym i ładowany jest odpowiedni szablon dla stron (czasami może wystarczy ładowanie samego css)

masz fajny pomysł na napisanie czegoś - nie szukaj gotowego, napisz to sam ;-) lepsza zabawa
User avatar
requish
Forum Members
Forum Members
Posts: 183
Joined: Sat Jan 24, 2009 3:12 pm

Re: przełącznik wyglądu strony ?

Post by requish »

kenumir wrote: masz fajny pomysł na napisanie czegoś - nie szukaj gotowego, napisz to sam ;-) lepsza zabawa
hehe, tak ale ze mnie programista aplikacji taki że ho ho :) jestem bardziej grafikiem który potrafi zakodować swoją grafikę i wstawić do CMSa  :D

Pozdro.
CMS Made Simple! Best CMS! :)
User avatar
korpirkor
Forum Members
Forum Members
Posts: 100
Joined: Sun Oct 28, 2007 1:15 pm

Re: przełącznik wyglądu strony ?

Post by korpirkor »

Napisane na szybko, nie testowałem tego ale jest szansa, że zadziała :-P
1. Tworzymy katalog /templates/

2. Dodajemy do niego szablony podzielone na dwie części: to co przed {content} i to co po tym - tzn np:
pierwszy_gora.tpl
pierwszy_dol.tpl
drugi_gora.tpl
drugi_dol.tpl

3. W ustawieniach globalnych do Globalne Metadane dodajemy

Code: Select all

<__script__ type="text/javascript">
function setCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}
</__script>
4. W miejscu, gdzie chcemy mieć linki do zmiany wyglądu wstawiamy:

Code: Select all

<a href="javascript:setCookie("szablon","pierwszy",10); window.location.reload();">szablon 1</a>
<a href="javascript:setCookie("szablon","drugi",10); window.location.reload();">szablon 2</a>
5. Szablon każdej strony będzie wyglądał mniej więcej tak:

Code: Select all

{process_pagedata}{assign var="szablon" value=$smarty.cookies.szablon}


{capture name="gora"}templates/{$szablon}_gora.tpl{/capture}


{* Jeżeli nazwa szablonu z cookisa jest zła to ustawiamy domyślny *}
{if !file_exists($smarty.capture.gora) }
{assign var="szablon" value='pierwszy'}
{capture name="gora"}templates/{$szablon}_gora.tpl{/capture}
{/if}

{capture name="dol"}templates/{$szablon}_dol.tpl{/capture}


{assign var="f" value=$smarty.capture.gora}
{include file="../../$f"}
{content}
{assign var="f" value=$smarty.capture.dol}
{include file="../../$f"}

I mam nadzieję, że to ruszy x-D
Last edited by korpirkor on Thu Apr 08, 2010 1:03 pm, edited 1 time in total.
[url=http://www.polishwebdesign.pl/]Polish WebDesign Cezary Nowak
Projektowanie stron WWW[/ur]
User avatar
requish
Forum Members
Forum Members
Posts: 183
Joined: Sat Jan 24, 2009 3:12 pm

Re: przełącznik wyglądu strony ?

Post by requish »

Super. Niedługo sprawedze to.

A w jakim celu jest 'gora' i 'dol' ?

Rozumiem, ze mam stworzyć jeden szablon, ktory bede przypisywal do stron, a w tym szablonie bedzie skrypt do zmian i czerpania szablonow!?

Pozdro  8)
CMS Made Simple! Best CMS! :)
User avatar
korpirkor
Forum Members
Forum Members
Posts: 100
Joined: Sun Oct 28, 2007 1:15 pm

Re: przełącznik wyglądu strony ?

Post by korpirkor »

no w sumie może obejdzie się nawet z jednym... po prostu CMS MS każdemu {content} w szablonie tworzy odpowiadające mu pole edycji w PA... Bałem się, że dając wszystko do jednego pliku bym coś zepsuł :P

Skrypt JS i możliwość wyboru powinna się raczej znaleźć w każdym szablonie :-P
[url=http://www.polishwebdesign.pl/]Polish WebDesign Cezary Nowak
Projektowanie stron WWW[/ur]
User avatar
requish
Forum Members
Forum Members
Posts: 183
Joined: Sat Jan 24, 2009 3:12 pm

Re: przełącznik wyglądu strony ?

Post by requish »

Ok, sprawdziłem obie możliwości. Niestety nie działa. Szablon czerpie treści, ale grafiki i css nie. Rowniez nie przełącza podlinkowanych szablonow.  ::)
CMS Made Simple! Best CMS! :)
User avatar
korpirkor
Forum Members
Forum Members
Posts: 100
Joined: Sun Oct 28, 2007 1:15 pm

Re: przełącznik wyglądu strony ?

Post by korpirkor »

no CSSy w takiej sytuacji trzeba statycznie ustawić... a grafiki powinno pobierać:P
[url=http://www.polishwebdesign.pl/]Polish WebDesign Cezary Nowak
Projektowanie stron WWW[/ur]
User avatar
requish
Forum Members
Forum Members
Posts: 183
Joined: Sat Jan 24, 2009 3:12 pm

Re: przełącznik wyglądu strony ?

Post by requish »

korpirkor wrote: no CSSy w takiej sytuacji trzeba statycznie ustawić... a grafiki powinno pobierać:P
aha, no ale i tak przełącznik nie zadziałał. szablon sie nie zmienial po kliknienciu w link do szablonu 2.
CMS Made Simple! Best CMS! :)
GoGo
Forum Members
Forum Members
Posts: 51
Joined: Fri Mar 12, 2010 2:30 pm

Re: przełącznik wyglądu strony ?

Post by GoGo »

to sie nazywa styleswitcher! Jedna css-file pro wyglad!
User avatar
requish
Forum Members
Forum Members
Posts: 183
Joined: Sat Jan 24, 2009 3:12 pm

Re: przełącznik wyglądu strony ?

Post by requish »

GoGo wrote: to sie nazywa styleswitcher! Jedna css-file pro wyglad!
Ale nie chodzi o przełącznik css. Bo układ i rozmieszczenie divow i innych elementow bedzie inny, a cssem tego nie zrobie.
CMS Made Simple! Best CMS! :)
User avatar
korpirkor
Forum Members
Forum Members
Posts: 100
Joined: Sun Oct 28, 2007 1:15 pm

Re: przełącznik wyglądu strony ?

Post by korpirkor »

Jak nie działa, gdy działa ? :-P Napisze jeszcze raz, prościej :-P
1. tworzymy katalog templates/

2. A w nim są pliki:
  • pierwszy_gora.tpl
  • pierwszy_dol.tpl
  • drugi_gora.tpl
  • drugi_dol.tpl
- w plikach _gora jest to co PRZED {content}
- w plikach _dol to co PO {content}

3. Dodajemy Znacznik Użytkownika o nazwie zmienstyl

Code: Select all

echo '<__script__ type="text/javascript">function setCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}</__script>';

echo '<a href="javascript:window.setCookie(\'szablon\',\'pierwszy\',10);window.location.reload();">szablon 1</a>
<a href="javascript:setCookie(\'szablon\',\'drugi\',10);window.location.reload();">szablon 2</a>';
Edytujemy go zależnie od nazw styli itd.

4. Nasz szablon w CMSie powinien wyglądać tak:

Code: Select all

{process_pagedata}{assign var="szablon" value=$smarty.cookies.szablon}


{capture name="gora"}templates/{$szablon}_gora.tpl{/capture}


{* Jeżeli nazwa szablonu z cookisa jest zła to ustawiamy domyślny *}
{if !file_exists($smarty.capture.gora) }
{assign var="szablon" value='pierwszy'}
{capture name="gora"}templates/{$szablon}_gora.tpl{/capture}
{/if}

{capture name="dol"}templates/{$szablon}_dol.tpl{/capture}

{assign var="f" value=$smarty.capture.gora}
{include file="../../$f"}
{content}
{assign var="f" value=$smarty.capture.dol}
{include file="../../$f"}
Uwagi końcowe:
- Właśnie pomyślałem, że nie trzeba używać _gora i _dol, wystarczy {content assign=..} ale już nie chce mi się tego aktualizować
- żeby wstawić parę {content block=...} trzeba się pogłowić, ale to jest jak najbardziej możliwe
- Nasz główny szablon musi się nazywać pierwszy_gora.tpl i pierwszy_dol.tpl. kolejne dowolnie, pod warunkiem, że odpowiednio zmienimy znacznik użytkownika zmienstyl
- powinniśmy zastosować statyczne pliki CSS i pozbyć się znacznika {stylesheet}
- znacznik {zmienstyl} wstawiamy w każdym szablonie (np _gora)
Last edited by korpirkor on Sat Apr 10, 2010 10:13 pm, edited 1 time in total.
[url=http://www.polishwebdesign.pl/]Polish WebDesign Cezary Nowak
Projektowanie stron WWW[/ur]
User avatar
requish
Forum Members
Forum Members
Posts: 183
Joined: Sat Jan 24, 2009 3:12 pm

Re: przełącznik wyglądu strony ?

Post by requish »

Hmm w wolnej chwili spróbuję jeszcze raz wdrożyć Twoj sposób. :)

Póki co dzięki, a jak będzie działać to kliknę Ci [applaud] 8)

Pozdro i do usłyszenia
CMS Made Simple! Best CMS! :)
Post Reply

Return to “Polish - Polski”