返回列表 回复 发帖
很有用..乖乖......肉顶.
囧囧囧囧囧囧囧囧囧囧
囧  囧  囧  囧
囧 囧    囧 囧
囧  囧囧囧囧囧  囧
囧  囧   囧  囧
囧囧囧囧囧囧囧囧囧囧
请问这个功能只是在qeephp-2.1.2426版本中实现了吗?我下载的是QeePHP 2.1.2447,参考提示写完了报错:
%BLOCK_MYCHINAJOB_NAVIGATION_1236290402% %BLOCK_MYCHINAJOB_LEFT_1236290402% %BLOCK_MYCHINAJOB_MAIN_1236290402%

default_layout.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3.   <head>
  4.     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  5.     <title>ChinaJOB - Working in China,Start Here! <?php $this->_block('title'); ?><?php $this->_endblock(); ?></title>
  6.     <link rel="stylesheet" type="text/css" href="<?php echo $_BASE_DIR; ?>css/default_style.css">
  7.     <link rel="stylesheet" type="text/css" href="<?php echo $_BASE_DIR; ?>css/default_formview_simple.css">
  8.         <script language="javascript" type="text/javascript" src="<?php echo $_BASE_DIR; ?>/js/js.js" ></script>
  9.   </head>
  10.   <body>
  11.     <div id="page">
  12.       <?php $this->_element('default_header'); ?>
  13.       <?php $this->_element('default_banner'); ?>
  14.       <div id="content">
  15.         <?php $this->_block('left'); ?><?php $this->_endblock('left'); ?>
  16.         <?php $this->_block('contents'); ?><?php $this->_endblock('contents'); ?>
  17.       </div>
  18.       <?php $this->_element('default_bottom'); ?>
  19.       <?php $this->_element('default_footer'); ?>
  20.     </div>
  21.   </body>
  22. </html>
复制代码
default_mychinajob_layout.php
  1. <?php $this->_extends('_layouts/default_layout'); ?>
  2. <?php $this->_block('contents'); ?>
  3.   <?php $this->_block('mychinajob_navigation'); ?><?php $this->_endblock('mychinajob_navigation'); ?>
  4.   <?php $this->_block('mychinajob_left'); ?><?php $this->_endblock('mychinajob_left'); ?>
  5.   <?php $this->_block('mychinajob_main'); ?><?php $this->_endblock('mychinajob_main'); ?>
  6. <?php $this->_endblock('contents'); ?>
复制代码
index.php
  1. <?php $this->_extends('_layouts/default_mychinajob_layout'); ?>
  2. <div>
  3.   <?php $this->_block('mychinajob_navigation'); ?>
  4.   ...
  5.   <?php $this->_endblock('mychinajob_navigation'); ?>

  6.   <?php $this->_block('mychinajob_left'); ?>
  7.   ...
  8.   <?php $this->_endblock('mychinajob_left'); ?>

  9.   <?php $this->_block('mychinajob_main'); ?>
  10.   ...
  11.   <?php $this->_endblock('mychinajob_main'); ?>
  12. </div>
复制代码
本帖最后由 trooman 于 2009-6-10 21:14 编辑

看上去似乎不错,但有问题:

如果想更换原来的布局视图怎么办?“查找替换”吗?如果想根据客户端的cookie来调用不同的布局视图呢?
所以,这种做法不妥,布局视图的当然是为了灵活性而设计的,而这种做法却把代码“写死”了,从而失去灵活性!
本帖最后由 firzen 于 2009-6-10 21:21 编辑

楼上的没有理解清楚吧。。。。。
更换原来的布局,改layout不久行罗?
如果想根据客户端的cookie来调用不同的布局视图呢?
问出这个问题,只证明你没有理解清楚
看清楚再发言吧。
13::find('age<24')->getAllBySexAndMarriage('女','未婚')
本帖最后由 trooman 于 2009-6-10 21:42 编辑
楼上的没有理解清楚吧。。。。。
更换原来的布局,改layout不久行罗?

问出这个问题,只证明你没有理解清楚
看清楚再发言吧。
firzen 发表于 2009-6-10 21:19
index.php 的代码
  1. <?php $this->_extends('_layouts/index_layout'); ?>
  2. ......
复制代码
这里,index_layout写死在index.php文件里,如果想换另外一个布局视图,是不是得修改这里,比如修改为
<?php $this->_extends('_layouts/index_blue_layout'); ?>
如果要把所有普通视图使用的布局视图都更改,是不要“查找替换”?

难道你的意思是修改index_layout对应的文件,你认为这样合理吗?

我理解的布局跟风格是紧密联系的,比如我做了3套布局视图,这些颜色风格分别是红、蓝、黄,我想让访问者自己设定风格,那如何设定呢?一般是根据cookie来设定。

对于程序开发来说,布局视图的出现来源于“两步视图法”,何谓两步?简单来说就是分两步走,分两步就是为了让程序更具灵活性,而extends继承法似乎没太大灵活性吧?
我不否认继承的合理性,我认为布局视图之间可以继承,而普通视图最好不要去继承布局视图,这样设计是不是更好些呢?
本帖最后由 firzen 于 2009-6-10 23:01 编辑

如果布局不在文件,那么用什么控制布局?在控制器?还是什么决定,那还是批量得去改控制器部分的代码
,存在cookie或者配置文件?那不是更容易解决么?
  1. extends('_layouts/index_'.$_COOKIE['layout_color'].'_layout')
复制代码
如果只是改变颜色,那么根据cookie换 style不也是一个办法?

放在每个view 灵活性反而更高,如果只是在外围控制一个布局,那么布局多了,那么外围代码就会逐渐庞大
13::find('age<24')->getAllBySexAndMarriage('女','未婚')
这个东西确实挺不错的
来看看  学习
支持一下
原因预示了结果,方法注定了结局,种子孕育了果实!
返回列表