簡體   English   中英

PHP應用程序的模板方法

[英]Template approach for a PHP application

我們正在開發一個與電子商務相關的新PHP應用程序,我們已經開始考慮如何解決模板以滿足客戶需求。

我們想要做的是為我們的客戶提供上傳/修改模板以適合他們公司的概況。 最初的想法是我們不會重新發明輪子,所以讓我們的客戶使用FTP上傳他們的模板,因此需要基本的HTML技能。 對於那些想要修改/自定義模板並且沒有知識的客戶,我們也提供該服務。

我知道在將其視為安全之前需要解決許多問題,例如阻止XSS和編寫檢查每個上載文件的腳本以查找潛在的安全威脅等等。 當然,有些部分可能會讓客戶自己復雜化,因此這種方法可能不適用於前端應用程序中的>> all <<模板文件。

但除此之外,處理這個問題的好方法是什么?

您確實需要阻止您的客戶將任何 php或javascript合並到他們的網站中。 任何圖片上傳都應格式轉換為其他內容,然后再上傳。

問題是,大多數編輯器不允許您構建頁面的片段。 正如塞繆爾建議你可以限制他們只編輯CSS(並發布他們自己的圖形內容) - 但這可能是相當嚴格的。 解決這個問題的一種方法是ESI - 但是這需要高技能的人員使用該技術 - 並試圖限制人們做他們不應該做的事情是相當困難的。

另一種方法是提供一組html片段(應該包含匹配的標簽,除了類之外沒有位置/字體信息),並讓客戶提供一個HTML頁面,其中包含一組占位符,您可以在其中插入內容,例如客戶提供的:

<html>
<title>{%PAGE_TITLE%}</title>
<link rel="stylesheet" href="{%STANDARD_CSS%}">
<link rel="stylesheet" href="{%CUSTOMER_CSS%}">
<script src="{%STANDARD_JS%}"></script>
....

另一種方法是為客戶提供在線通過網絡編輯器。 您可能希望了解一些可用的混搭工具,例如Radria

HTH

C。

我想,如果你只想改變圖像,顏色,字體,div放置等,你可以讓你的客戶編輯css文件,同時解決你的安全問題。

您可能會發現查看TinyButStrong模板引擎很有幫助。 TBS與大多數其他模板引擎的不同之處在於它不會嘗試在模板中實現額外的腳本語言,而是使用占位符系統以及與方括號之間的HTML代碼完全分離的屬性,例如

[blk.myfieldname;block=tr]

這使得系統非常容易與Dreamweaver等WYSIWYG工具一起使用,因為設計人員很容易看到PHP依賴代碼在模板中的位置 - 基本上'不要觸及方括號內的任何內容'

雖然與你自己並沒有完全相同的情況,但我已經完成了幾個項目,我已經完成了基本布局完全功能的頁面,然后將HTML模板(+ css)交給設計師,后者隨后將其修改為最終網站。 由於TBS提供的代碼和占位符變量明顯分離,因此幾乎不會誤入歧途。 缺少任何模板腳本語言也意味着您的安全問題得到了更多控制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM