2011-11-28 121 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