Page 1 of 1

Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Thu Jan 08, 2009 8:19 am
by Rolf
Hallo allemaal,

Dit artikel heb ik gemaakt na aanleiding van http://forum.cmsmadesimple.org/index.ph ... 135.0.html

Als je gebruik maakt van de nieuwsmodule dan kun je een samenvatting maken op je homepage, waarin ook een link is opgenomen naar een automatisch gegenereerde pagina waar het gehele artikel staat.
Maar het is nog niet -standaard- mogelijk om vanuit de samenvatting een verwijzing te maken naar een bestaande normale pagina op je website. Bijv. een fotoalbum, gastenboek of de contactpagina.

Er zijn een aantal manieren om dit op te lossen:

- {redirect_page page='pagina-alias'} tag in het artikelveld plaatsen, wat niet erg gebruiksvriendelijk is...
- het samenvattingssjabloon aanpassen, zie o.a. http://forum.cmsmadesimple.org/index.ph ... 135.0.html , wat uit eigen ervaring niet goed werkt in combinatie met de zoekmachines.

Heb nu een eenvoudige combinatie gemaakt van de genoemde oplossingen, die gebruiks- én Google-vriendelijk is.

In plaats van de [title] en [meer...] link door te sturen, heb ik nu een doorverwijzing gezet in het artikelsjabloon.
Bij het artikelformulier is onderaan een veld toegevoegd genaamd 'cms_selflink'.
Als er in dit veld een alias van een pagina (zie tab opties bij pagina's) staat ingevuld dan ga je na het klikken op de link in de samenvatting, automatisch daar deze (normale) pagina toe, staat er niets ingevuld dan wordt het normale artikelsjabloon getoond.

Werkwijze:

1. Open in de nieuws module de tab 'Velddefinities'.
   Maak een velddefinitie aan genaamd 'cms_selflink' (of een eigen naam, maar dan wel even aanpassen in de code!)
   Type: Tekstinvoer
   *Publiek (openbaar) aanvinken.

2. Wijzig het samenvattingssjabloon.
   Zet onderin het sjabloon de volgende regel buiten werking door het plaatsen van {* en *}:

Code: Select all

...
{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
     <div class="NewsSummaryField">
        {if $field->type == 'file'}
          <img src="{$entry->file_location}/{$field->value}"/>
        {else}
{*                < ----------------------------------------------
          {$field->name}: {eval var=$field->value}
*}                < ----------------------------------------------
        {/if}
     </div>
  {/foreach}
{/if}

</div>
{/foreach}
<!-- End News Display Template -->
3. Wijzig het artikelsjabloon:

Plaats voor de bestaande code:

  {if isset($entry->fields.cms_selflink->value)}
     {redirect_page page=$entry->fields.cms_selflink->value}
  {else}

en na de bestaande code:

  {/if}

De totale nieuwe code wordt dan:

Code: Select all


   {if isset($entry->fields.cms_selflink->value)}
      {redirect_page page=$entry->fields.cms_selflink->value}
   {else}

{* --- Begin standaard artikelsjabloon --- *}

{if $entry->postdate}
	<div id="NewsPostDetailDate">
		{$entry->postdate|cms_date_format}
	</div>
{/if}
<h3 id="NewsPostDetailTitle">{$entry->title}</h3>

<hr id="NewsPostDetailHorizRule" />

{if $entry->summary}
	<div id="NewsPostDetailSummary">
		<strong>
			{eval var=$entry->summary}
		</strong>
	</div>
{/if}

{if $entry->category}
	<div id="NewsPostDetailCategory">
		{$category_label} {$entry->category}
	</div>
{/if}
{if $entry->author}
	<div id="NewsPostDetailAuthor">
		{$author_label} {$entry->author}
	</div>
{/if}

<div id="NewsPostDetailContent">
	{eval var=$entry->content}
</div>

{if $entry->extra}
	<div id="NewsPostDetailExtra">
		{$extra_label} {$entry->extra}
	</div>
{/if}

<div id="NewsPostDetailPrintLink">
	{$entry->printlink}
</div>
{if $return_url != ""}
<div id="NewsPostDetailReturnLink">{$return_url}</div>
{/if}

{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
     <div class="NewsDetailField">
        {if $field->type == 'file'}
	  {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *}
          <img src="{$entry->file_location}/{$field->value}"/>
        {else}
          {$field->name}: {eval var=$field->value}
        {/if}
     </div>
  {/foreach}
{/if}

{* --- Einde standaard artikelsjabloon --- *}

{/if}


Deze werkwijze heb ik op verschillende manieren getest en werkt goed.

Groet, Rolf

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Mon Apr 20, 2009 7:26 pm
by erpee
Geprobeerd .... en er gebeurt  niet zoveel. Het kan zijn dat ik in het veld "cms_selflink" niet de juiste code plaats.

Ik heb er neergezet:

Code: Select all

cms_selflink page="uitgebreide-aanvraag"
Wat moet anders?

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Tue Apr 21, 2009 6:32 am
by Rolf
Hallo Erpee,
Rolf wrote: Als er in dit veld een alias van een pagina (zie tab opties bij pagina's) staat ingevuld dan ga je na het klikken op de link in de samenvatting, automatisch daar deze (normale) pagina toe, staat er niets ingevuld dan wordt het normale artikelsjabloon getoond.
In het veld moet je alleen de alias plaatsen, dus in jouw geval alleen: uitgebreide-aanvraag.
Hoop dat het nu wel lukt.

Groet, Rolf  :D

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Mon Aug 03, 2009 12:11 am
by (M)
Het doorlinken werkt bij mij alleen als *Publiek aangevinkt is bij de Velddefinitie "cms_selflink".
Maar dan krijg ik overal de code van de link zelf ("cms_selflink: pagina..." ) in beeld en dat wil ik niet. Het lijkt mij ook niet de bedoeling.
Als ik *Publiek uitvink werkt het niet meer.

Wat doe ik verkeerd?

[versie 1.5.4 "Carolina"]

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Tue Aug 04, 2009 6:23 pm
by Rolf
Hallo (M)

Er schijnt wat gewijzigd te zijn in de laatste versies.
Ik ga dit even uit testen op mijn eigen sites, waar dit ook draait.

Kom hier zsm op terug!

Grt. Rolf

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Thu Aug 06, 2009 5:58 pm
by Rolf
Hallo (M)

Het samenvattingsssjabloon is gewijzigd ten opzichte van de versie waarop ik dit artikel heb gemaakt. Vandaar de verkeerde weergave.

Wijzig jouw samenvattingssjabloon:
Zet onderin het sjabloon de volgende regel buiten werking door het plaatsen van {* en *}
De regel geeft een opsomming van de velddefinitie velden.  ???

Code: Select all

...
{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
     <div class="NewsSummaryField">
        {if $field->type == 'file'}
          <img src="{$entry->file_location}/{$field->value}"/>
        {else}
{*                < ----------------------------------------------
          {$field->name}: {eval var=$field->value}
*}                < ----------------------------------------------
        {/if}
     </div>
  {/foreach}
{/if}

</div>
{/foreach}
<!-- End News Display Template -->
Of dit de netste manier is moet blijken, maar het werkt in ieder geval weer...  ;)

Heb dit in het eerste artikel ook aangepast.

Rolf  :D

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Tue Aug 11, 2009 1:24 pm
by (M)
Beste Rolf,

Geweldig! Het werkt nu.

Zeer bedankt.

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Wed Feb 24, 2010 9:25 am
by erpee
Ik werk nu met 1.6.6 van CMSms Heb alle aanpassingen doorgevoerd. Eerst werkte het wel ... nu niet meer  :'(

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Wed Feb 24, 2010 11:13 am
by Rolf
Erpee,

Heb je deze goed staan?
Werkwijze:
1. Open in de nieuws module de tab 'Velddefinities'.
    Maak een velddefinitie aan genaamd 'cms_selflink' (of een eigen naam, maar dan wel even aanpassen in de code!)
    Type: Tekstinvoer
    *Publiek (openbaar) aanvinken.
Grt. Rolf

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Fri Feb 26, 2010 11:38 am
by erpee
:'( :'( :'( :'( :'(

Jeej, mijn niveau van begrijpend lezen is bedroevend ....

Dank je Rolf ... dat was 'm

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Fri Jan 13, 2012 1:11 pm
by (M)
Beste Rolf,

Je hebt mij eerder prima geholpen om het doorlinken voor elkaar te krijgen. Sinds een update 1.9.4.2 naar 1.10.3 werkt het niet meer.
Werkt het op jouw site nog wel?

In dit draadje http://forum.cmsmadesimple.org/viewtopi ... =7&t=58277 kun je de foutmelding zien die ontstaat als je klikt op een link op de site.

Ik heb de workaround die hier staat http://forum.cmsmadesimple.org/viewtopi ... =57764&f=3 al geprobeerd maar die werkt niet.

Hopelijk heb jij een oplossing

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Mon Jan 16, 2012 12:20 pm
by Rolf
Zal het binnenkort even testen

grt. Rolf

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Fri Jan 20, 2012 9:42 am
by Rolf
Voor werking in CMSMS 1.10+ wijzig in de detail template:

Code: Select all

{if isset($entry->cms_selflink)}
{redirect_page page=$entry->cms_selflink}
{else}
In:

Code: Select all

{if isset($entry->fields.cms_selflink->value)}
{redirect_page page=$entry->fields.cms_selflink->value}
{else}
Is al aangepast in het eerste artikel.

Groet, Rolf

Re: Nieuwssamenvatting doorlinken naar een bestaande pagina.

Posted: Mon Jan 23, 2012 2:22 pm
by (M)
Bedankt!
Maar in de tussentijd heb ik alle content verplaatst naar het artikel gedeelte in de News Module zelf. Met het tegenwoordig opgeven van een specifieke URL aan een News item is de SEO wens ook in vervulling gegaan. Daarnaast is het voor de editor minder omslachtig geworden en kan alles binnen de News Module gebeuren.