2014-09-11 51 views
1

我只花了30分鐘在網上搜索這個,並不能拿出一個體面的答案。如何阻止Joomla從聯繫人信息中剝離HTML代碼?

但無論如何,在Joomla中,聯繫人組件有正常的輸入字段,但是地址有一個textarea。

這會讓我假設你可以在那裏輸入多行地址,它會顯示爲單獨的行......但它不會。即使我輸入換行符,輸出也會顯示在一行上。

所以我嘗試輸入<br>分開,並保存後,Joomla去掉這些標籤。

在模板中,輸出被簡單地呼應$this->contact->address

反正是有,爆炸此輸入與<br>馬克取代換行符寫的?

UPDATE:

現在作爲一項臨時措施,我可以添加HTML代碼插入到數據庫中的值,從而節省和前端輸出。

在另一個筆記上,我現在正在尋找從聯繫人表單中刪除主題行,而不會破壞代碼。並儘可能地使用覆蓋。誰能幫忙?

回答

0

您是否試過Sourcerer的擴展?

+1

實際上,我所做的是在輸入字段中輸入'-br-',我想要中斷,然後在佈局文件中使用str_replace替換'-br-'和'
'。這工作正常。 – Lee 2014-09-14 01:26:50

+0

@李 - 你應該做出答案並接受它。偉大的方式來做到這一點,因爲我已經有一個在我的模板中的聯繫形式的HTML覆蓋:) – pathfinder 2017-03-22 18:53:16

0

你的問題很老了,但你有解決這個李?

要創建的Joomla換行符,標題,文本區域等最簡單的方式做,這是使用來自NoNumber的ReReplace擴展:http://extensions.joomla.org/extensions/edition/replace/4336

我個人用它來在e.x.添加換行符菜單項標題,其中< br />不被允許並被剝離。

使用ReReplacer,您可以創建自定義標籤e.x.然後讓ReReplacer用< br />替換{br}。

因此,每次你需要在Joomla的任何地方添加一個換行符,這裏的html代碼通常會被剝離,你可以添加{br}來添加一個新行。

+0

我確實使用了一種替換我輸入的方法,雖然我沒有使用插件,因爲它不是真的需要。我在php中使用了一個str_replace函數,其中輸出地址行。 – Lee 2014-11-11 07:50:51

0

非常古老的問題,但我陷入了同樣的問題,並試圖找到一個更人性化的解決方案。

您可以在地址textarea中輸入多行,並將它們正確輸出到HTML頁面源。但是如你所知,HTML中的換行符不會被渲染,它們必須被轉換爲<br>

對於這個PHP有一個很好的功能,nl2br,每次在字符串中遇到換行符時插入一個<br>

所以在你的模板html\com_contact\contact\default_address.php,替換:

echo $this->contact->address; 

echo nl2br($this->contact->address); 

這將做的工作很好,並允許用戶以自然插入的聯繫地址textarea的任何換行符是將被正確渲染,並帶有相應的<br>;我相信這比用戶在地址欄中插入-br-標籤的前一個用戶更友好。

+0

這很糟糕,因爲它會被更新覆蓋,不是嗎? – Lee 2017-10-18 16:19:40

+0

它不會被Joomla內核的更新覆蓋:我建議在您使用的模板中更改它(如果文件丟失,請重寫)。 – DaviG 2017-10-19 17:23:53