Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2013, 09:30
Avatar de nanotime
nanotime
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cd. Guayana
Mensajes: 145
Antigüedad: 13 años
Puntos: 6
Pregunta Problema con Twig y la herencia

Estoy trabajando con Bolt, un CMS php que usa Twig como motor html y ellos te dan a elegir usar la herencia de plantillas o simplemente hacerlo a la vieja escuela con "include".

En fin, estoy usando herencia para mantener mas limpias las cosas pero no entiendo por que no quiere heredar varias cosas que le pido, en teoría está bien hecho y en la práctica, si bien no me lanza errores ni nada y hay cosas que si funcionan, va a medias y no inserta varios fragmentos de código que necesito, que de hecho es el que va en los bloques de aside, head y header, ya que la parte de las entradas lo hace perfectamente... aquí el código:

Código HTML:
Ver original
  1. <!doctype html>
  2.  <html lang="en">
  3.  <head>
  4.     {% block head %}
  5.         <meta charset="UTF-8">
  6.         <title>
  7.             {% if record.title is defined %}{{ record.title|striptags }} | {% endif %}
  8.             {{ app.config.general.sitename }}
  9.         </title>
  10.     {% endblock %}
  11.     <script src="/js/custom.modernizr.js"></script>
  12.  </head>
  13.  <body>
  14.     <div class="cuerpo">
  15.         {% block header %}
  16.             <div class="header"></div>
  17.         {% endblock %}
  18.        
  19.         <div  class="content">
  20.             {% block post %}
  21.                 {% setcontent records = 'entries/latest/2' allowpaging %}
  22.                 {% for record in records %}
  23.                        <hgroup>
  24.                         <h1><a href="{{ record.link }}">{{ record.title }}</a></h1>
  25.                        </hgroup>
  26.                        {% if record.image != "" %}
  27.                         <a href="{{ image(record.image) }}"><img src="{{ thumbnail(record.image, 400, 260) }}"></a>
  28.                        {% endif %}
  29.                        <p>{{ record.excerpt(300) }}</p>
  30.                 {% endfor %}
  31.                 {{ pager() }}
  32.             {% endblock %}
  33.         </div>
  34.  
  35.         <div class="sidebar">
  36.             {% block sidebar %}
  37.             {% endblock %}
  38.         </div>
  39.     </div>
  40.  
  41.     <script>
  42.     document.write('<script src=/js/vendor/'
  43.         + ('__proto__' in {} ? 'zepto' : 'jquery')
  44.         + '.js><\/script>');
  45.     </script>
  46.     <script src="js/foundation/foundation.js"></script>
  47.     <script src="js/foundation/foundation.alerts.js"></script>
  48.     <script src="js/foundation/foundation.clearing.js"></script>
  49.     <script src="js/foundation/foundation.cookie.js"></script>
  50.     <script src="js/foundation/foundation.dropdown.js"></script>
  51.     <script src="js/foundation/foundation.forms.js"></script>
  52.     <script src="js/foundation/foundation.joyride.js"></script>
  53.     <script src="js/foundation/foundation.magellan.js"></script>
  54.     <script src="js/foundation/foundation.orbit.js"></script>
  55.     <script src="js/foundation/foundation.placeholder.js"></script>
  56.     <script src="js/foundation/foundation.reveal.js"></script>
  57.     <script src="js/foundation/foundation.section.js"></script>
  58.     <script src="js/foundation/foundation.tooltips.js"></script>
  59.     <script src="js/foundation/foundation.topbar.js"></script>     
  60.  </body>
  61.  </html>

Este es el codigo base del header y el bloque de head:

Código HTML:
Ver original
  1. {% extends 'index.twig' %}
  2.  
  3. {% block head %}
  4.     {{ parent() }}
  5.    
  6.     <link rel="stylesheet" href="css/app.css">
  7. {% endblock %}
  8.  
  9. {% block header %}
  10.     {{ parent() }}
  11.  
  12.     <div id="bug-header"></div>
  13. {% endblock %}

Lo mismo pero con la parte del aside y el nav;

Código HTML:
Ver original
  1. {% extends 'index.twig' %}
  2.  
  3. {% block sidebar %}
  4.  
  5.     <aside>
  6.         <ul>
  7.             <li><a href="#">Twitter</a></li>
  8.             <li><a href="#">G+</a></li>
  9.         </ul>
  10.     </aside>
  11.     <div id="navnar">
  12.         <nav>
  13.             <ul>
  14.                 <li><a href="#"></a></li>
  15.                 <li><a href="#"></a></li>
  16.                 <li><a href="#"></a></li>
  17.             </ul>
  18.         </nav>
  19.     </div>
  20.  {% endblock %}

Gracias desde ya :)