Meerdere templates icm GCB
Moderator: velden
Meerdere templates icm GCB
Bij het opbouwen van mijn nieuwe website maak ik gebruik van meerdere templates. De home pagina heeft een andere template dan het fotoalbum of de blogpagina. De Google-analytics heb in een template gestopt (voormalig GCB) en zo zijn er meer functies die op die manier in een template zitten.
Om bij het voorbeeld van de Google-analytics template te blijven, is mijn vraag, plaats je deze dan in elke template, net zoals je met {metatag} doet of is daar een "slimmere" oplossing voor?
Om bij het voorbeeld van de Google-analytics template te blijven, is mijn vraag, plaats je deze dan in elke template, net zoals je met {metatag} doet of is daar een "slimmere" oplossing voor?
Re: Meerdere templates icm GCB
ipv {metatag} bedoel ik {metadata}.
Re: Meerdere templates icm GCB
GCB's kan je in CMSMS 2.0 vervangen voor: {include file='cms_template:your_template_name'}
Een veel gebruikte methode is om een base template te maken en middels template inheritance uitbreidingen te maken. Rolf heeft hier een blog over geschreven op zijn cms can be simple website.
Zelf doe ik het iets anders. Ik maak voor iedere afzonderelijke pagina template een afzonderlijk bestand. Herhalende delen splits ik op. Analytics code valt onder javascript welke ik zoveel mogelijk probeer te groeperen. Dit komt redelijk overheen met de manier waarin je in CMSMS 1.0 GCBś kon gebruiken.
Metadata voeg ik toe aan de header template.
Qua opslitsen kan je het zo gek maken als je wilt. Denk vooral aan de naamgeving zodat alles makkelijk terug te vinden is.
Voorbeeld: (met hier en daar commentaar)
* template with 1 column
* template with 2 columns
* cms_template:header
* cms_template:footer
* cms_template:javascript
* cms_template:analytics
Een veel gebruikte methode is om een base template te maken en middels template inheritance uitbreidingen te maken. Rolf heeft hier een blog over geschreven op zijn cms can be simple website.
Zelf doe ik het iets anders. Ik maak voor iedere afzonderelijke pagina template een afzonderlijk bestand. Herhalende delen splits ik op. Analytics code valt onder javascript welke ik zoveel mogelijk probeer te groeperen. Dit komt redelijk overheen met de manier waarin je in CMSMS 1.0 GCBś kon gebruiken.
Metadata voeg ik toe aan de header template.
Qua opslitsen kan je het zo gek maken als je wilt. Denk vooral aan de naamgeving zodat alles makkelijk terug te vinden is.
Voorbeeld: (met hier en daar commentaar)
* template with 1 column
Code: Select all
{content assign="_content"}
{include file='cms_template:header'}
<div class="content_full">
{$_content}
</div>
{include file='cms_template:footer'}
Code: Select all
{content assign="_content"}
{include file='cms_template:header'}
<div class="content_left">
{$_content}
</div>
<div class="content_right">
{content block='right'}
</div>
{include file='cms_template:footer'}
Code: Select all
<__html>
<head>
<title></title>
{metadata}
</head>
<header>.. menu ..</header>
</__body>
Code: Select all
<footer></footer>
{include file='cms_template:javascript'}
<__body>
</__html>
Code: Select all
<!-- aanroep van .js bestanden globaal gebruikt -->
<__script__ src=""></__script>
<!-- javascript code globaal gebruikt -->
<__script__></__script>
<!-- toevoegen van javascript specifieke code -->
{if isset($global_footer_data)}
{$global_footer_data}
{/if}
<!-- afzonderlijke javascript templates -->
{include file='cms_template:analytics'}
Code: Select all
-- analytics code here --
Re: Meerdere templates icm GCB
Dank je voor je heldere uitleg Arnoud. Ik begrijp wat je bedoelt. De vraag die bij mij opkomt, wat maakt dat je voor templates kiest als files t.o. templates via de design manager?
Ter check, template files komen in de folder:
/tmp/templates
te staan?
Ter check, template files komen in de folder:
/tmp/templates
te staan?
Re: Meerdere templates icm GCB
Template Inheritance is zooooo veel gemakkelijker
https://www.cmscanbesimple.org/blog/the ... gn-manager
https://www.cmscanbesimple.org/blog/the ... gn-manager
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Meerdere templates icm GCB
Tijdens het ontwikkelen kan je templates inderdaad in een tmp/ folder plaatsen, echter zal dit in de toekomst niet veel meer worden toegepast.
CMSMS 2.2 heeft/krijgt een exporter functie waarmee filebased werken (tekst bestanden bewerken ipv database cellen bewerken) voor zowel templates als stylesheets in de core geregeld is.
, werkt ook gewoon met Core::Generic templates uit de de design manager.
Template inheritance werkt schitterend zolang je altijd uitgaat van 1 main content block en extend die daar een variatie op is.
Met template inheritance kan je de titel/label van het main content block volgens mij niet overschrijven/aanpassen in de template die extend wordt. (Rolf correct me if I am wrong).
Als CMSMS 2.2 stable is ga ik wat websites herzien. Voorlopig werk ik met de manier aangegeven zoals aangegeven in mijn voorbeeld. Zolang je herhalende delen opsplitst en deze voorziet van goede naamgeving blijft alles zoooooo veel gemakkelijker
CMSMS 2.2 heeft/krijgt een exporter functie waarmee filebased werken (tekst bestanden bewerken ipv database cellen bewerken) voor zowel templates als stylesheets in de core geregeld is.
Code: Select all
{include file='cms_template:your_template_name'}
Template inheritance werkt schitterend zolang je altijd uitgaat van 1 main content block en extend die daar een variatie op is.
Met template inheritance kan je de titel/label van het main content block volgens mij niet overschrijven/aanpassen in de template die extend wordt. (Rolf correct me if I am wrong).
Als CMSMS 2.2 stable is ga ik wat websites herzien. Voorlopig werk ik met de manier aangegeven zoals aangegeven in mijn voorbeeld. Zolang je herhalende delen opsplitst en deze voorziet van goede naamgeving blijft alles zoooooo veel gemakkelijker
Re: Meerdere templates icm GCB
Posts gelezen evenals de blog van Rolf.
Mijn site die ik nu in een nieuwe template aan het gieten ben, bestaat uit meerdere templates. Zo is er een template 'Default', een 'Blog', een 'Gallery' etc. In alle templates is bijv. een aantal js-scripts opgenomen, dezelfde. Maar ook is er bijv. een Social Network blok:
Zo'n blok als hierboven kan ik in een aparte Core-template zetten en deze dan aanroepen middels een include die ik vervolgens in elke template kan gebruiken. Begrijp ik die goed?
Wat ik handig zou vinden, is als ik, uitgaande van bovenstaande code-blok, daar een keer kan invullen welke social media ik wil gebruiken die onderaan rechts op de pagina verschijnenhttps://www.test.uisge-beatha.eu Nu moet ik op elke pagina aangeven welke sm-netwerk ik wil gebruiken cq. weergeven.
Ik denk dat ik eerst versie 2.0 live moet zien te krijgen voordat ik alles in de templates overhoop haal, maar misschien zie ik dat verkeerd.
Benieuwd naar jullie reactie.
Mijn site die ik nu in een nieuwe template aan het gieten ben, bestaat uit meerdere templates. Zo is er een template 'Default', een 'Blog', een 'Gallery' etc. In alle templates is bijv. een aantal js-scripts opgenomen, dezelfde. Maar ook is er bijv. een Social Network blok:
Code: Select all
<!-- Social network -->
{content block='display_social' label='Display Social Icons' tab='Social Network' assign='display_social' oneline="true" size="1" wysiwyg='false'}
{content block='facebook' label='Facebook link here' tab='Social Network' assign='facebook' oneline="true" wysiwyg='false'}
{content block='twitter' label='Twitter link here' tab='Social Network' assign='twitter' oneline="true" wysiwyg='false'}
{content block='google' label='Google+ link here' tab='Social Network' assign='google' oneline="true" wysiwyg='false'}
{content block='pinterest' label='Pinterest link here' tab='Social Network' assign='pinterest' oneline="true" wysiwyg='false'}
{content block='feed' label='Live feed link here' tab='Social Network' assign='feed' oneline="true" wysiwyg='false'}
Wat ik handig zou vinden, is als ik, uitgaande van bovenstaande code-blok, daar een keer kan invullen welke social media ik wil gebruiken die onderaan rechts op de pagina verschijnenhttps://www.test.uisge-beatha.eu Nu moet ik op elke pagina aangeven welke sm-netwerk ik wil gebruiken cq. weergeven.
Ik denk dat ik eerst versie 2.0 live moet zien te krijgen voordat ik alles in de templates overhoop haal, maar misschien zie ik dat verkeerd.
Benieuwd naar jullie reactie.
Re: Meerdere templates icm GCB
Ik hoop dat je niet voor elke pagina apart een link o.i.d. invult tbv de diverse social media?
Dat stukje laat zich normaliter toch prima automatiseren.
Dat stukje laat zich normaliter toch prima automatiseren.
Re: Meerdere templates icm GCB
vrees dat dat invullen wel het geval is. Dit is iets waar ik ook pas later achter kwam. Voor het idee, in elke template is de volgende code te vinden:velden wrote:Ik hoop dat je niet voor elke pagina apart een link o.i.d. invult tbv de diverse social media?
Dat stukje laat zich normaliter toch prima automatiseren.
Code: Select all
<footer>
<div class="container">
<div class="row">
{if $display_social == "+"}
<div class="col-sm-8">
{else}
<div class="col-sm-12">
{/if}
{* GCB FOOTER *}
{global_content name='buddy011-footer'}
{* END GCB FOOTER *}
</div>
{if $display_social == "+"}
<div class="col-sm-4">
{if $feed}<a class="social-icon feed" href="{$feed}" target="_blank"><i class="fa fa-rss"></i></a>{/if}
{if $pinterest}<a class="social-icon pinterest" href="{$pinterest}" target="_blank"><i class="fa fa-pinterest"></i></a>{/if}
{if $google}<a class="social-icon google" href="{$google}" target="_blank"><i class="fa fa-google"></i></a>{/if}
{if $twitter}<a class="social-icon twitter" href="{$twitter}" target="_blank"><i class="fa fa-twitter"></i></a>{/if}
{if $facebook}<a class="social-icon facebook" href="{$facebook}" target="_blank"><i class="fa fa-facebook"></i></a>{/if}
</div>
{/if}
</div>
</div>
</footer>
Re: Meerdere templates icm GCB
Ja, dat zou ik denk ik op dezelfde manier doen als met je Footer 'Global Content Block'.
Het zijn ook nog fixed links als ik het zo zie (geen 'share' links).
Het zijn ook nog fixed links als ik het zo zie (geen 'share' links).
Re: Meerdere templates icm GCB
Het zijn inderdaad fixed links, als je daarmee bedoelt: "volg mij op xyz".velden wrote:Ja, dat zou ik denk ik op dezelfde manier doen als met je Footer 'Global Content Block'.
Het zijn ook nog fixed links als ik het zo zie (geen 'share' links).
In de afzonderlijke templates wordt middels een '+' aangegeven of je al dan niet die social links wilt laten zien. Is het mogelijk om bijv. in de Default-template een '+' aan te geven en dat deze dan automatisch ook voor alle overige templates geldt? Een hint hoe dat te doen zou helpen
In de top van de template zie ik bijv. bij de 'Default-template' staan:
Code: Select all
<!-- Social network -->
{content block='display_social' label='Display Social Icons' tab='Social Network' assign='display_social' oneline="true" size="1" wysiwyg='false'}
{content block='facebook' label='Facebook link here' tab='Social Network' assign='facebook' oneline="true" wysiwyg='false'}
{content block='twitter' label='Twitter link here' tab='Social Network' assign='twitter' oneline="true" wysiwyg='false'}
{content block='google' label='Google+ link here' tab='Social Network' assign='google' oneline="true" wysiwyg='false'}
{content block='pinterest' label='Pinterest link here' tab='Social Network' assign='pinterest' oneline="true" wysiwyg='false'}
{content block='feed' label='Live feed link here' tab='Social Network' assign='feed' oneline="true" wysiwyg='false'}
{share_data scope=parent vars='capturedcontent,mainsecondcolumn,mainthirdcolumn,maintitle,display_breadcrumbs,search_page,display_header_image,headerimg,headerimgtext,display_social,facebook,twitter,google,pinterest,feed,prev_page,next_page' scope=global}
{/strip}
<!DOCTYPE html>
<__html lang="nl">
Code: Select all
<!-- Social network -->
{content block='display_social' label='Display Social Icons' tab='Social Network' assign='display_social' oneline="true" size="1" wysiwyg='false'}
{content block='facebook' label='Facebook link here' tab='Social Network' assign='facebook' oneline="true" wysiwyg='false'}
{content block='twitter' label='Twitter link here' tab='Social Network' assign='twitter' oneline="true" wysiwyg='false'}
{content block='google' label='Google+ link here' tab='Social Network' assign='google' oneline="true" wysiwyg='false'}
{content block='pinterest' label='Pinterest link here' tab='Social Network' assign='pinterest' oneline="true" wysiwyg='false'}
{content block='feed' label='Live feed link here' tab='Social Network' assign='feed' oneline="true" wysiwyg='false'}
{share_data scope=parent vars='capturedcontent,mainsecondcolumn,mainthirdcolumn,maintitle,display_breadcrumbs,search_page,display_header_image,headerimg,headerimgtext,display_social,facebook,twitter,google,pinterest,feed,prev_page,next_page' scope=global}
{/strip}
<!DOCTYPE html>
<__html lang="nl">