2014-03-07 48 views
0

在components/com_content/models/article.php中有一個名爲storeVote的函數,它存儲0到5分的投票。這是該函數的第一行:如何使用插件修改Joomla中的模型?

if ($rate >= 1 && $rate <= 5 && $pk > 0) 

插件我編程爲Joomla 2.5可以從0票存儲5和0至10,所以我需要修改該行進入:

if ($rate >= 1 && $rate <= 10 && $pk > 0) 

當插件安裝時會自動執行。

我該怎麼做?

在此先感謝。

P.D.

這是我需要在Joomla中實現的代碼,但我不知道如何實現它,有什麼幫助?

$searchString='if ($rate >= 1 && $rate <= 5 && $pk > 0)'; 
$replaceString='if ($rate >= 1 && $rate <= 10 && $pk > 0)'; 
$fh = fopen("article.php", 'r+'); 
$file = file_get_contents('article.php'); 
$file = str_replace($searchString, $replaceString, $file); 
fwrite($fh, $file); 
fclose($fh); 

回答

0

一個解決辦法是寫入其中掛鉤插入onContentPrepare()方法在渲染之前根據需要來改變所述內容的內容的插件。請務必關注與其他「內容」插件相關的插件訂單位置,因爲如果不考慮,這會對預期行爲產生不利影響。

http://docs.joomla.org/J2.5:Creating_a_content_plugin

+0

我可以在我的插件文件中添加一個函數onContentPrepare()嗎?只需一個插件即可完成所有任務 – user3002293

+0

這取決於您現有的插件是否爲內容插件。有幾種不同的「插件類型」(內容,用戶,認證,系統等)。只要你現有的插件是內容插件,那麼是的,你可以;否則你將需要寫一個全新的擴展。 –