2011-10-24 17 views
0

ビューの部分は、のレイアウトを参照してください。の部分は、zendフレームワークに含まれています。 私の考え方では(そして私はnoobのように思っています)ビュー(index.phtml)をレイアウト(designer.phtml)に向けるルートが存在するはずですか? 以下は私のコードではありません、私はちょうどそれを理解しようとしています。ビューとレイアウトの関係を理解する

このコードのビューの一部であり、ファイルのルートがある/アプリケーション/ XAMPP/xamppfiles/htdocsに/ MTS/アプリケーション/モジュール/デザイナー/ビュー/スクリプト/インデックス/ index.phtmlを

 <div style="width:100%; margin-bottom:20px; margin-top:5px;"> 
    <span style="padding-left:10px; font-size:18px;">Designer <a href="javascript:void(0)" onClick="summonHelp('1')"><img alt="(?)" src="/style/images/help-8.png"/></a></span> 
</div> 
     <?= $this->leftmenu; ?> 
     <div id="picFrame" style="text-align: center"></div> 
     <div id="middle_admin_content"> 

    <fieldset> 
     <legend id="bookTitleLegend">Please select a book first</legend> 

     <div id="fileBox"><div id="innerBox"></div></div> 

     <div id="uploadSuccess" class="statusBox" style="display: none; background-color: #D9F5CB"><span>File Uploaded Successfully</span></div> 
     <div id="uploadFailed" class="statusBox" style="display: none; background-color: #EBB9B9"><span>File Upload Failed</span></div> 

     <div id="aboutTheBook" style="display: none"> 
      <form id="aboutTheBookForm" action="" method="post"> 
       <textarea name="about_the_book" id="about_the_book" cols="60" rows="10"></textarea> 
       <input type="submit" value="Save Text" name="saveCoverText"/> 
       <input type="hidden" value="" name="bookid" id="bookidField"/> 
      </form> 
     </div> 
    </fieldset> 
</div> 

これは、ファイルのルートが /アプリケーション/ XAMPP/xamppfiles/htdocsに/ MTS/アプリケーション/レイアウト/スクリプト/ designer.phtmlコードのレイアウト部分です

<?php echo $this->doctype() ?> 
<html> 
<head> 
    <title>InTech - Design</title> 

<?php 
echo $this->headTitle() . "\n"; 
echo $this->headMeta() . "\n"; 
?> 
<? 
echo $this->headStyle() . "\n"; 
echo $this->headLink() . "\n"; 
echo $this->headScript(). "\n"; 
?> 
<? 
/* 
    $jsContainer = $this->Minify_Container(); 
    $jsContainer->appendFile('/js/jquery-1.4.2.min.js'); 
    $jsContainer->appendFile('/js/jquery-ui-1.8.2.custom.min.js'); 
    $jsContainer->appendFile('/js/jquery.autocomplete.js'); 
    $jsContainer->appendFile('/js/jquery.bgiframe.min.js'); 
    $jsContainer->appendFile('/js/jquery.idTabs.min.js'); 
    $jsContainer->appendFile('/js/jquery/jquery.form.js'); 
    $jsContainer->appendFile('/js/uploadify/jquery.uploadify.v2.1.4.min.js'); 
    $jsContainer->appendFile('/js/designer/designer.js'); 
    $jsContainer->appendFile('/js/scrollpane/jquery.jscrollpane.min.js'); 
    $jsContainer->appendFile('/js/scrollpane/jquery.mousewheel.js'); 

echo $this->Minify($jsContainer, 'js'); 

    $cssContainer = $this->Minify_Container(); 
    $cssContainer->appendStylesheet('style/ui.all.css'); 
    $cssContainer->appendStylesheet('js/jquery-ui-1.8.2.custom.css'); 
    $cssContainer->appendStylesheet('style/site_css/designer_style.css'); 
    $cssContainer->appendStylesheet('js/scrollpane/jquery.jscrollpane.css'); 

echo $this->Minify($this->headLink(), 'css'); 
echo $this->Minify($cssContainer, 'css'); 
* 
*/ 

?> 

<!-- MINIFIED ABOVE -------------------------> 

<link rel="shortcut icon" href="/style/site_images/favicon.ico" type="image/x-icon" /> 
<link type="text/css" href="/style/ui.all.css" rel="stylesheet" /> 
<link type="text/css" href="/js/jquery-ui-1.8.2.custom.css" rel="stylesheet" /> 
<link type="text/css" href="/style/site_css/designer_style.css" rel="stylesheet" /> 
<link type="text/css" href="/js/scrollpane/jquery.jscrollpane.css" rel="stylesheet" /> 

<!--<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>--> 
<script type="text/javascript" src="/assets/modules/manager/basic/js/jquery-1.5.2.min.js"></script> 
<script type="text/javascript" src="/assets/modules/manager/basic/js/plugins/jquery.form.js"></script> 

<script type="text/javascript" src="/js/jquery-ui-1.8.2.custom.min.js"></script> 
<script type="text/javascript" src="/js/jquery.autocomplete.js"></script> 
<script type="text/javascript" src="/js/jquery.bgiframe.min.js"></script> 
<script type="text/javascript" src="/js/jquery.idTabs.min.js"></script> 

<!--<script type="text/javascript" src="/js/jquery/jquery.form.js"></script>--> 

<script type="text/javascript" src="/js/uploadify/jquery.uploadify.v2.1.4.min.js"></script> 
<script type="text/javascript" src="/js/designer/designer.js"></script> 
<script type="text/javascript" src="/js/scrollpane/jquery.jscrollpane.min.js"></script> 
<script type="text/javascript" src="/js/scrollpane/jquery.mousewheel.js"></script> 
<!-- --> 

</head> 
<body> 

<div id="dialog" style="display:none; font-size:12px; background-color:#ffffff;"> 
    <div id="dialog_left" style="float:left; width:150px"> 
    </div> 
    <div id="dialog_right"> 
    </div> 
</div> 

<div id="dialogDelete" style="display: none">Delete Item?</div> 


    <!-- HEADER SITE AREA :: START --> 
    <div id="header"> 

    <?php 
    $front = Zend_Controller_Front::getInstance(); 
$module = $front->getRequest()->getModuleName(); 

    echo $this->render('header-designer.phtml', array(
     'authenticated' => $this->authenticated 
    )); 
     ?> 
    </div> 
    <!-- HEADER SITE AREA :: END --> 





    <!-- CONTENT :: START --> 
    <div id="contentAdmin"> 
     <div id="helpDialog" style="display: none"></div> 

     <?php echo $this->layout()->content ?> 




    </div> 
    <!-- CONTENT :: END --> 





    <!-- FOOTER SITE AREA :: START --> 
    <div id="footer"> 
    <?php echo $this->render('footer.phtml', array(
     'authenticated' => $this->authenticated 
    )) ?> 
    </div> 
    <!-- FOOTER SITE AREA :: START --> 

</body> 
</html> 

答えて

1

これがどのように実装されているかの具体的な仕組みには、bootstrapping application resourcesが含まれていて、遅く実行しているのはfront-controller pluginsです。

しかし、「システム」は、要求されたアクションに関連付けられたビュースクリプトの検索/レンダリング方法と、ビュースクリプトコンテンツが注入されたレイアウトスクリプトの検索/レンダリング方法を知っています。

Layoutリソースをブートストラップしたのはおそらくconfigs/application.iniです。

またView資源ブートストラップ - あなたのheadTitle()をレンダリングする方法を知っている、headMeta()headScript()など(すべてのビューヘルパーを使用してレンダリング)だけでなく、レイアウト - 明示的または暗黙的に。

「システム」がこれらすべてのことを認識しているという謎は本当にありません。

+0

ありがとうございました! –

+0

私の喜び。それが助けてくれてうれしい。 SOにようこそ。 ;-) –

関連する問題