【问题标题】:How to reuse one html head section?如何重用一个 html head 部分?
【发布时间】:2011-01-19 22:51:27
【问题描述】:

我正在使用 zend 而不是在我的网站中使用 AJAX。因此,我必须在每个 phtml 页面的 head 部分中包含我所有的 CSS 和 JS 文件。

<html>
<head>
  <link rel="stylesheet" type="text/css" href="mycssfile.css" />
  <script type="text/javascript" src="myjsfile1.js"></script>
  <script type="text/javascript" src="myjsfile2.js"></script>
  .........
</head>
<body>
  .........
</body>

</html>

每当我添加任何新的 CSS/JS 文件时,我都必须在任何地方都包含它。有没有一种好方法可以将我所有的 CSS 和 JS 文件包含在一个文件/位置中,并在任何地方使用该引用。可能zend有什么好办法。

【问题讨论】:

    标签: php javascript html css zend-framework


    【解决方案1】:

    我通常在 _initViewHelpers 方法中将我的静态 suff 放在应用程序的引导程序中:

    $this->bootstrap(array('frontcontroller', 'view'));
    $frontController = $this->getResource('frontcontroller');
    $view = $this->getResource('view');
    
    $view->headLink()->appendStylesheet($view->assetUrl('/css/reset.css'))
                     ->appendStylesheet($view->assetUrl('/css/clearfix.css'))
                     ->appendStylesheet($view->assetUrl('/css/screen.css'));
    
    $view->headScript()->appendFile($view->assetUrl('/js/jquery.1.4.3.min.js', 'text/javascript'))
                       ->appendFile($view->assetUrl('/js/jquery.corner.js', 'text/javascript'));
    

    然后从你的布局文件中调用它们

    echo $this->headLink()->setIndent();
    echo $this->headStyle()->setIndent();
    

    此站点还可以帮助您进行引导和应用程序优化 http://joegornick.com/2009/11/18/zend-framework-best-practices-part-1-getting-started/

    【讨论】:

    • 我试过这个。我将上面的代码放在引导程序中的_initAutoload() 函数中,发现以下错误。 Uncaught exception 'Zend_Application_Bootstrap_Exception' with message 'Resource matching "view" not found' in C:\wamp\www\student\library\Zend\Application\Bootstrap\BootstrapAbstract.php 知道这个错误吗??
    • 尝试创建一个名为 _initViewHelpers 的新方法,如答案的第一行所述
    【解决方案2】:

    在普通 PHP 中,您只需将公共位放在另一个模板中并包含它:

    <?php include 'common/header_assets.php'; ?>
    
    common/header_assets.php:
    <link rel="stylesheet" type="text/css" href="main.css" />
    <script type="text/javascript" src="myjsfile1.js"></script>
    <script type="text/javascript" src="myjsfile1.js"></script>
    

    使用 Zend 框架,您可能希望为所有要共享的模板创建一个布局,该布局具有以下共同点:

    http://zendframework.com/manual/en/learning.quickstart.create-layout.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多