Plantillas de noticias

Vamos a ver con un ejemplo, cómo se pueden personalizar las plantillas de las noticias. En este caso vamos a utilizar una plantilla (creada por Elijah Lofgren) que produce un diseño similar al de un blog.

Ten en cuenta que esta plantilla usa una etiqueta personalizada llamada count_news_comments que se describe aquí. Comprueba si la tienes instalada (en Extensiones -> Tags personalizadas), y si no la tienes créala.

Para personalizar las plantillas de las noticias, desde el Panel de administración debes dirigirte a Contenido -> Noticia y una vez allí seleccionar las pestañas Plantilla de sumario y Plantilla de detalle.

Plantilla de sumario

Sustituye el código existente por el que aparece a continuación, y pulsa OK.

<!-- Start News Display Template -->
{foreach from=$items item=entry}
<div class="NewsSummary">

<h2 class="NewsSummaryLink">{$entry->titlelink}</h2>

{if $entry->formatpostdate}
	<div class="NewsSummaryPostdate">
		{$entry->formatpostdate}
	</div>
{/if}


{if $entry->summary}
	<div class="NewsSummarySummary">
		{eval var=$entry->summary}
	</div>

	<div class="NewsSummaryMorelink">
		[{$entry->morelink}]
	</div>

{else if $entry->content}

	<div class="NewsSummaryContent">
		{eval var=$entry->content}
	</div>
{/if}
<div style="border-top:1px solid black; margin-top:1em;">
{if $entry->author}
	<div class="NewsSummaryAuthor" style="float:left;">
	Posted by {$entry->authorname} in {$entry->category}
	</div>
{/if}

<div style="text-align:right;"><a href="{$entry->link}">{count_news_comments thenewsid=$entry->id} comments</a></div>
</div>
</div>
{/foreach}
<!-- End News Display Template -->

Plantilla de detalle

Sustituye el código existente por el que aparece a continuación, y pulsa OK.

<h2 id="NewsPostDetailTitle">{$entry->title}</h2>

{if $entry->formatpostdate}
	<div id="NewsPostDetailDate">
		{$entry->formatpostdate}
	</div>
{/if}

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

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

<div style="border-top:1px solid black; margin-top:1em;">
{if $entry->author}
	<div class="NewsSummaryAuthor" style="float:left;">
	Posted by {$entry->authorname} in {$entry->category}
	</div>
{/if}

<div style="text-align:right;">
<a href="{$entry->link}">{count_news_comments thenewsid=$entry->id} comments</a></div>
</div>


{cms_module module='comments' modulename='News' pageid=$entry->id websitefield=1 emailfield=1}

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

Anotaciones recientes (recent_blog_posts)

Guarda en tu servidor el código que aparece a continuación, creando un fichero llamado recent_blog_posts.tpl dentro del directorio /modules/News/templates/

<ul>
{foreach from=$items item=entry}
<li><a href="{$entry->link}">{$entry->titlelink}</a>
<br />
{if $entry->summary}
		{eval var=$entry->summary}
{/if}
<br />
{if $entry->formatpostdate}
Posted {$entry->formatpostdate}
{/if}
in {$entry->category}

- <a href="{$entry->link}">{count_news_comments thenewsid=$entry->id} comments</a>
</li>
{/foreach}
</ul>

Para utilizar la plantilla anterior usa el siguiente código:

<h2>Latest 5 blog posts</h2>
{cms_module module='news' number='5' summarytemplate='recent_blog_posts.tpl'}



This page in: English - Deutsch - Español - Français - Italiano - Lietuvių - Nederlands - Norsk - Polski - Česky - Русский - Svenska - Tiếng Việt - عربي - 日本語 简体中文

User Handbook/Admin Panel/Content/News/Templates/es

From CMSMS

Arvixe - A CMSMS Partner