首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >细枝渲染(controller(...)):访问父块

细枝渲染(controller(...)):访问父块
EN

Stack Overflow用户
提问于 2014-02-18 01:15:16
回答 1查看 535关注 0票数 0

首先:我刚接触Symfony2,正在写我的第一个项目。

我正在写一个画廊,我想在几个Symfony项目中使用。

我的总体想法是将整个画廊打包在一起。API应该只是gallery- ContollerAction中的一个单独的控制器。我想通过调用将画廊包含在网站中

WebsiteTemplate:

代码语言:javascript
复制
{{ render(controller( "MyGalleryBundle:Gallery:build")) }}

这个WebsiteTemplate是从一个带有css、js等块的baseTemplate扩展而来的……

BaseTemplate:

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta charset="UTF-8" />
        [...]

        <title>{% block title %}{% endblock %}</title>

        {% block head %}
            {% block css %}{% endblock %}
            {% block js %}{% endblock %}
        {% endblock %}
    </head>
    <body>
        {% block menu %}{% endblock %}
        {% block body %}{% endblock %}
    </body>
</html>

看起来一切都很正常( html结构被渲染在正确的位置),但是css没有被放入html文件的头部,而是放在html作用域中,这导致没有css被解析。

我试图通过简单地调用bastTemplate中的块来实现它,如下所示:

代码语言:javascript
复制
[ setting some twig variables ]

{% block head %}
    {% block css %}
    {% stylesheets 
        'bundles/doublebeatsgallery/css/base.css'
        'bundles/doublebeatsgallery/css/picture.css'
        'bundles/doublebeatsgallery/css/page.css'
        output="bundles/doublebeatsgallery/css/compiled/main.css"
    %}
        <link type="text/css" href="{{ asset_url }}" rel="stylesheet">
    {% endstylesheets %}


    <script type="text/css">
        {% set tpl = galleryConfig.look.template %}

        .tmpl_box:hover {
            z-index: 5;
            margin-left: -{{(tpl.popUpWidth - tpl.width)/2}}px;
            margin-top: -{{(tpl.popUpHeight - tpl.height)/2}}px;

        }

    </script>   
    {% endblock %}
{% endblock %}


    <div id="galleryHeader" class="galleryBaseContainer backA">
        <div id="pContainer"><span>{{selectedGallery}}</span></div>
    </div>
    [... rest of html ]
EN

回答 1

Stack Overflow用户

发布于 2014-02-18 01:21:38

您不必重写head块本身,只需重写内部css块。我不确定这是否能解决你的问题,但你可以试一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21835266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档