praiadeseselle/site/templates/_func.php

173 lines
No EOL
4.6 KiB
PHP

<?php namespace ProcessWire;
function getConfig($paxina)
{
$configuracion = array();
foreach($paxina->configuracion as $config)
{
$configuracion[$config->nome_parametro] = $config->valor_parametro;
}
return $configuracion;
}
function getSeccions($seccions)
{
$saida = '';
foreach($seccions as $seccion)
{
switch($seccion->template)
{
case 'repeater_seccions':
switch ($seccion->tipo_seccion->value)
{
case 'texto':
$saida .= renderTexto($seccion->artigo);
break;
case 'galeria':
$saida .= renderGaleria($seccion->galeria);
break;
case 'texto_imaxe_lateral':
$saida .= renderTextoImaxe($seccion->artigo, $seccion->imaxe, $seccion->posicion_imaxe->value);
break;
case 'texto_imaxe_superior':
$saida .= getSeccions($seccion->seccion_destacada);
break;
}
break;
case 'repeater_seccion_destacada':
$saida .= renderTextoImaxe($seccion->artigo, $seccion->imaxe, 'superior');
break;
}
}
return $saida;
}
function renderMenu($paxinas, $maxDepth = 0, $id = 'nav')
{
if($paxinas instanceof Page)
{
$paxinas = array($paxinas);
}
$saida = '';
foreach($paxinas as $paxina)
{
if($paxina->id == wire('page')->id)
{
$saida .= '<li class="activo">';
}
else
{
$saida .= '<li>';
}
$saida .= '<a href="' . $paxina->url . '">' . $paxina->title . '</a>';
if($paxina->hasChildren() && $maxDepth)
{
if($id == 'nav')
{
$id = 'nav nav-tree';
}
$saida .= renderMenu($paxina->children, $maxDepth-1, $id);
}
$saida .= '</li>';
}
if($saida)
{
$saida = '<ul id="' . $id . '">' . $saida . '</ul>';
}
return $saida;
}
function renderMigasPan($paxina, $separador = '<i class="icon-chevrons-right"></i>')
{
$saida = '';
$saida .= '<div class="contedor migas_pan" role="navigation" aria-label="' . _x('Current page', 'navigation') . ':"> ' . $separador .' ';
foreach($paxina->parents() as $pai)
{
$saida .= '<span><a href="' . $pai->url . '">' . $pai->title . '</a></span> ' . $separador . ' ';
}
$saida .= '<span>' . $paxina->title . '</span>';
if($paxina->editable()):
$saida .= ' [ <a href="' . $paxina->editURL . '"> <i class="icon-edit"></i> ' . _x('Edit', 'Edit page') . ' </a> ]';
endif;
$saida .= '</div>';
return $saida;
}
function renderTexto($artigo)
{
$saida = '';
$saida .= '<section>';
$saida .= $artigo;
$saida .= '</section>';
return $saida;
}
function renderGaleria($galeria)
{
$saida = '';
$saida .= '<section class="contedor swiper">';
$saida .= '<h3 class="visually-hidden">Galeria</h3>';
$saida .= '<div class="swiper-wrapper">';
foreach($galeria as $imaxe)
{
$saida .= '<div class="swiper-slide">';
$saida .= '<figure>';
$saida .= '<img src="' . $imaxe->url . '" alt="' . $imaxe->description . '">';
$saida .= '<figcaption>' . $imaxe->description . '</figcaption';
$saida .= '</figure>';
$saida .= '</div>';
}
$saida .= '</div>';
$saida .= '<div class="swiper-button-prev"></div>';
$saida .= '<div class="swiper-button-next"></div>';
$saida .= '<div class="swiper-paxination"></div>';
$saida .= '</section>';
return $saida;
}
function renderTextoImaxe($texto, $imaxe, $posicion)
{
$saida = '';
switch ($posicion)
{
case 'esquerda':
$saida .= '<section>';
$saida .= '<img class="' . $posicion .'" src="' . $imaxe->url . '" alt="">';
$saida .= '<div>' . $texto . '</div>';
$saida .= '</section>';
break;
case 'dereita':
$saida .= '<section>';
$saida .= '<div>' . $texto . '</div>';
$saida .= '<img class="' . $posicion .'" src="' . $imaxe->url . '" alt="">';
$saida .= '</section>';
break;
case 'superior':
$saida .= '<section>';
$saida .= '<img class="' . $posicion .'" src="' . $imaxe->url . '" alt="">';
$saida .= '<div>' . $texto . '</div>';
$saida .= '</section>';
break;
}
return $saida;
}