Drupal7 - Paragraph

Paragraph

Paragraph Template

Récupération des données d'un paragraph dans son template : paragraphs-item--[nom_du_bundle].tpl.php

Exemple d'un bundle avec un champ icone et un champ link :

Le contenu du fichier tpl :

<?php
$network_icon = field_get_items('paragraphs_item', $variables['paragraphs_item'], 'field_icone');
$network_link = field_get_items('paragraphs_item', $variables['paragraphs_item'], 'field_link_simple');
?>
<a class="social-icons" href="<?php echo $network_link[0]['value']; ?>"><span class="fa fa-<?php echo $network_icon[0]['icon']; ?> fa-3x"></span></a>

Autre exemple de récupération de plusieurs paragraph (même bundle) directement dans un template de node (exemple : node--article.tpl.php)

  • Bundle paragraph : field_icone + field_texte
<?php
foreach ($node->field_paragraph_highlighted['und'] as $p):
    $highlighted = entity_load('paragraphs_item', array($p['value']));
    $highlighted = $highlighted[$p['value']];
    ?>
    <div class="col-lg-3">
        <span class="fa fa-<?php echo $highlighted->field_icone['und'][0]['icon']; ?> fa-4x"></span>
        <p><?php echo $highlighted->field_texte['und'][0]['value']; ?></p>
    </div>
<?php endforeach; ?>

Ne pas oublier que l'on peut également intervenir sur un champ depuis sont template "field" :

  • field.tpl.php ==> field--field_paragraph_highlighted.tpl.php
<div class="<?php print $classes; ?>"<?php print $attributes; ?>>
    <?php if (!$label_hidden): ?>
        <div class="field-label"<?php print $title_attributes; ?>><?php print $label ?>:&nbsp;</div>
    <?php endif; ?>
    <div class="field-items"<?php print $content_attributes; ?>>
        <?php foreach ($items as $delta => $item): ?>
            <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div>
        <?php endforeach; ?>
    </div>
</div>

 

Tags