Page 1 of 1
Nieuwsafbeeldingen alleen tonen wanneer er een bestand is
Posted: Mon Feb 25, 2013 7:38 pm
by Arno
De vraag klinkt wellicht simpel, en tot voorheen werkte m'n template ook gewoon zoals zou moeten. Wat ik zou willen, is dat er alleen afbeeldingen bij nieuwsberichten (via de standaard news-module) getoond worden wanneer er daadwerkelijk een afbeelding (file) geuploadt is bij het bericht. Wanneer ik een afbeelding toevoeg gaat alles prima, maar ik heb ook weleens nieuwsberichten die geen afbeelding bevatten, en bij die berichten krijg ik nu ontbrekende afbeeldingen (rode kruizen onder Windows of blauwe vraagtekens op de Mac). Ik gebruik deze code in mijn templates:
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}"/>
{/if}
</div>
{/foreach}
{/if}
Is er een manier om 'm zo te maken dat de hele div niet getoond wordt wanneer er geen nieuwsafbeelding is?
Re: Nieuwsafbeeldingen alleen tonen wanneer er een bestand i
Posted: Mon Feb 25, 2013 9:00 pm
by velden
{if $entry->fieldsbyname.standaard_afbeelding}
...show image...
{/if}
Uiteraard even de naam van het veld 'standaard_afbeelding' aanpassen aan jouw situatie.
Je kunt altijd de {debug} tag gebruiken in je news template om te kijken welke variabelen je kunt checken.
Re: Nieuwsafbeeldingen alleen tonen wanneer er een bestand i
Posted: Mon Feb 25, 2013 9:12 pm
by Arno
Dankjewel voor je snelle reactie. Alleen kom ik er nog niet uit waar ik 'm precies moet plaatsen en (of) wat ik moet vervangen in mijn huidige code.
Het deel wat de afbeelding laat zien is nu:
Code: Select all
{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}"/>
{/if}
</div>
{/foreach}
{/if}
Kun je me hier nog bij helpen? Het file-veld met de foto heet 'Afbeelding'.
Re: Nieuwsafbeeldingen alleen tonen wanneer er een bestand i
Posted: Mon Feb 25, 2013 9:25 pm
by velden
Vervang het hele stuk voor (stukje uit mijn hoofd):
Code: Select all
{if $entry->fieldsbyname.Afbeelding}
<img src="{$entry->file_location}/{$entry->fieldsbyname.Afbeelding->value}"/>
{/if}
Nogmaals, als je je template tijdelijk even begint met {debug} dan kun je al die velden in een popup venster zien als je de website zelf opent. Dat is heel handig.
Re: Nieuwsafbeeldingen alleen tonen wanneer er een bestand i
Posted: Tue Feb 26, 2013 9:38 am
by Arno
Hmm, op de manier zoals hierboven werkt het helaas nog steeds niet:
Heb {debug} nu aanstaan, maar zie geen Afbeelding-field terugkomen. Wel het auteur-field trouwens.
Re: Nieuwsafbeeldingen alleen tonen wanneer er een bestand i
Posted: Tue Feb 26, 2013 10:08 am
by velden
Ik doe het uit mijn hoofd, maar het zou kunnen dat je moet checken op de value zelf
Code: Select all
{if $entry->fieldsbyname.Afbeelding->value}
<img src="{$entry->file_location}/{$entry->fieldsbyname.Afbeelding->value}"/>
{/if}
Re: Nieuwsafbeeldingen alleen tonen wanneer er een bestand i
Posted: Tue Feb 26, 2013 10:25 am
by Arno
Hey, dat lijkt te werken! Dankjewel
