2011-11-28 170 views
3

LemonStand是全新的产品,也是我开发客户网站的先驱者。将网站从PHP网站转换为完整的LemonStand电子商务网站

这个第一个使用LemonStand的候选人是我用PHP构建的新建网站。

我已经从LemonStand CMS中获取了所有非电子商务页面(如about和contact)。

但现在我试图将简单的PHP包括到partials中:

例子:

<? include 'standard_include.php'; ?> 

<? include 'header.php'; ?> 

到LemonStand的

<? $this->render_partial('standard_include') ?> 

<? $this->render_partial('header') ?> 

我得到有关未定义变量未处理的异常:

这就是开始我的网页/模板看起来像

<?php 
require_once('lib/php/configuration.php'); 
$pagetype = 'home'; 
$subpagetype = 'index'; 
$titleValue = 'Client Name'; 
?> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title><?php echo $titleValue ?></title>  

<? $this->render_partial('standard_include') ?> 

</head> 

<body> 

<? $this->render_partial('header') ?> 

部分是否在页面加载过程中不会渲染(与PHP包含的内容相比)?

我是否错误地使用了偏分量?如果是这样,我该如何将PHP包含到LemonStand后门系统中?

+0

找到一块有点埋。也许我应该利用块而不是部分? – Keefer

+0

什么是例外? –

+0

@约翰沃森,它是'未定义的变量:pagetype' 我想render_partial发生在页面开始渲染后,而包含发生在之前,所以它有一个pagetype的值。 我在想这个解决方案会让他们包括在内。我只是无法在其管理员/后端系统中拥有每个文件。 – Keefer

回答

0

我想render_partial发生在页面开始渲染后,而包含发生在之前,所以它有一个pagetype的值。

我在想,解决方案将是保持它们包括。我只是无法在其管理员/后端系统中拥有每个文件。

对于常见的元素,包含LemonStand的模板似乎没有做任何事情,只是让它们内联,显然这并不适用于在网站上进行类似页眉或页脚的更改。

3

我从来没有使用过Lemonstand,但是如果它的MVC像其他MVC系统一样工作,那么您需要将standard_include所需的变量注入到视图中。喜欢的东西:

$this->renderPartial('standard_include', array('pagetype'=>$pagetype, ...)) ?> 

否则将局部无法访问您在父模板,因为部分是在不同的上下文呈现定义的变量。

PHP include的工作原理是不同的。它只是在执行脚本之前在字面上插入包含的文件。

+0

不幸的是,这不符合我们设置事物的方式。 – Keefer