国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - joomla組件開發入門教程

joomla組件開發入門教程

2021-01-14 18:48果凍 PHP教程

這篇文章主要介紹了joomla組件開發的方法,結合實例形式分析了joomla組件的結構、功能與具體使用技巧,需要的朋友可以參考下

本文講述了joomla組件開發知識點。分享給大家供大家參考,具體如下:

在你進行編碼之前,有一些文件和文件夾需要創建和一些查詢語句需要運行。你不但可以創建組件而且不用額外的配置就可以嘗試不同的特性。你也可以看到Joomla!組織和訪問組件方法的概況。最后,你會像其它組件一樣加入工具欄。

Joomla!組件的結構

Joomla!的所有組件都遵守指定的命名約定。每個系統組件都有唯一的名字,名字不要包括空格。代碼分成兩個文件夾,文件夾以com_開頭,緊接著就是組件的名字。因此,你要創建兩個相同名字的com_reviews文件夾,一個放到前端components下,另一個放到后端administrator/components 下。當組件被前端加載的時候,Joomla!將會查找以組件唯一命名并以 .php擴展名結束的文件。在components/com_reviews 下建立review.php文件。相似地,在后端建立的文件需要在前面加上admin. ,在administrator/components/com_reviews 下建立 admin.reviews.php。

執行組件

Joomla!前端所有的請求都經過根目錄的 index.php 文件,加載不同的組件是通過設置 URL GET 的option 變量。假設你本地的joomla!站點地址是 http://localhost/joomla/index.php,那么你加載的組件的地址應該是 http://localhost/joomla/index.php?option=reviews,打開reviews.php 文件并加入以下代碼:

?
1
2
3
4
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
echo '<div class="componentheading">Restaurant Reviews</div>';
?>

你會看到類似的頁面:

暫時不提供圖片顯示,請參考《Joomla! extension development》

你可能想知道一開始調用 defined() 函數的目的是什么,這是為了確保避免代碼被直接通過 components/com_reviews/reviews.php 來訪問。

在后端的administrator/components/com_reviews/admin.reviews.php 文件加上以下代碼:

?
1
2
3
4
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
echo 'Restaurant Reviews';
?>

瀏覽地址:
http://localhost/joomla/administrator/index.php?option=com_reviews ,比較頁面的輸出:

暫時不提供圖片顯示,請參考《Joomla! extension development》

Joomla!前后端的分離

Joomla!的所有組件,它們的代碼使得后端部分與前端部分的代碼很好地分離,在某些情況下,例如數據庫表類,后端會使用前端的某些文件,但它們是獨立的。當你不讓后端的函數混入前端的代碼那么安全性就加強了。這是后端和前端的結構相似的同時的一個很重要的特性。以下顯示了Joomla!的根目錄和administrator 文件夾展開的圖表:

暫時不提供圖片顯示,請參考《Joomla! extension development》

要注意的是 administrator 文件夾與根目錄有相似的結構。區分它們倆是很重要的,否則你可能會將你的代碼放錯位置了而執行失敗,除非是將它們放回正確的位置。

在數據庫注冊組件

你現在知道怎么樣訪問前端和后端的組件,盡管每次你都能夠通過手工輸入URL來執行你的代碼,但你的用戶你無法接受的。如果你在數據庫注冊了組件,即在components數據表中加入一條記錄,那么你就可以使用導航了。使用以下的SQL語句來注冊組件:

?
1
2
3
4
5
INSERT INTO jos_components (name, link, admin_menu_link,
admin_menu_alt, `option`, admin_menu_img, params)
VALUES ('Restaurant Reviews', 'option=com_reviews',
'option=com_reviews', 'Manage Reviews', 'com_reviews',
'js/ThemeOffice/component.png', '');

這里聲明了組件的名稱,可以包括空格和標點,可以指定前端和后端的鏈接,可以指定后端組件菜單的圖標。當你建立了基本的目錄并加入了文件,有的組件已經準備好被執行了,而不需要寫任何的SQL語句。這樣你就在后端加入了組件的鏈接,也可以在前端適當的位置加入鏈接而不需要硬編碼URL。刷新你后端的頁面,下拉組件菜單,你會看到你的組件的子菜單項:

暫時不提供圖片顯示,請參考《Joomla! extension development》

既然組件已經注冊了,你就可以在前端創建鏈接,去到
“菜單” | “主菜單”,然后單擊“新建”按鈕,從該頁面中選擇“Restaurant Reviews”,輸入鏈接名稱后,如下:

暫時不提供圖片顯示,請參考《Joomla! extension development》

點擊“保存”,然后去到前端,你應該看到“Reviews”鏈接:

暫時不提供圖片顯示,請參考《Joomla! extension development》

你可以準備你的PHP技巧開始編寫組件了。還要確保所有的前端請求都要通過 http://localhost/joomla/index.php?option=com_views,后端的請求通過 http://localhost/joomla/administrator/index.php?option=com_reviews。

Joomla!是非常靈活的,可以讓你做你喜歡做的事情。我們這個例子中,會教你從新建一個組件開始,然后設計工具欄、用戶、數據庫類和庫等,一旦你理解了它們的工作原理,這些元素將會省下你大量的時間。

創建工具欄

在Joomla!的后端,所有的核心組件都實現相同的保存、刪除、編輯和發布項目等按鈕,你可以在你的組件中使用這些按鈕以便管理員會有無縫的體驗。首先,在administartor/components/com_reviews 文件夾下創建 toolbar.reviews.html.php文件,并輸入一下代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
class TOOLBAR_reviews {
function _NEW() {
JToolBarHelper::save();
JToolBarHelper::apply();
JToolBarHelper::cancel();
}
function _DEFAULT() {
JToolBarHelper::title( JText::_( 'Restaurant Reviews' ),
'generic.png' );
JToolBarHelper::publishList();
JToolBarHelper::unpublishList();
JToolBarHelper::editList();
JToolBarHelper::deleteList();
JToolBarHelper::addNew();
}
}
?>

包括輸出代碼的文件通常會組織成類,像這里的TOOLBAR_reviews。每個成員函數都會顯示不同的工具欄。JtoolBarHelper類包含了所有創建工具欄HTML元素的函數,你也可以加入自定義的HTML。你需要明白的是工具欄是有HTML表格構建的,你可能想在你的導航上加入<td> 標簽。

工具欄現在被定義,但你需要加入一些代碼來決定顯示哪些按鈕。Joomla!會自動加載以組件名開始,以 .reviews.php 結束的文件。加入以下的代碼到administrator/components/com_reviews 下的 toolbar.reviews.php 文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once( JApplicationHelper::getPath( 'toolbar_html' ) );
switch($task)
{
case 'edit':
case 'add':
TOOLBAR_reviews::_NEW();
break;
default:
TOOLBAR_reviews::_DEFAULT();
break;
}
?>

這行包含 require_once(),使用 JapplicationHelper 類的成員函數 getPath() 來獲取toolbar.reviews.php 文件的路徑,而不用包括組件的名稱,即使你改變了組件的名稱,你不需要修改代碼還是可以正常加載文件。

說明

你可能想知道為什么一開始就創建 toolbar.reviews.php 和 toolbar.reviews.html.php 這兩個文件。組件開發人員首選的編碼風格是讓處理邏輯與輸出完全分離,這樣以后加入特性和與別人分享代碼就非常容易了。

toolbar.reviews.php 用輸出類加載文件后,你需要要決定顯示哪個工具欄。請求的變量 $task會自動注冊成為全局變量并有來導向組件的邏輯流?,F在刷新后端的頁面,進入 Restaurant Reviews組件,然后你應該能看到以下的工具欄:

暫時不提供圖片顯示,請參考《Joomla! extension development》

要看其它的工具欄,在URL后面加上 &task=add ,重新加載頁面,你應該看到以下的工具欄:

暫時不提供圖片顯示,請參考《Joomla! extension development》

當你的用戶要使用你的組件的時候,他們當然不想自己手動地在URL后添加 task 變量,那么他們怎么才能使用第二個工具欄呢?每個工具欄都對應著不同的 task ,當一個按鈕被點擊,相關的 task 就會加入到表單中并自動提交。

一旦適合的表單在適合的位置時,單擊“新建”按鈕會看到第二個工具欄,既然我們沒有任何的表單在后端,這些工具欄按鈕是不會工作的。下一章將會教你怎么讓這些按鈕生效。

有效的工具欄按鈕

Joomla!允許你使用自己的 task 和 label 覆蓋任何的按鈕,分別傳入第一個和第二個參數來覆蓋。以下是Joomla!標準版本提供的有效的按鈕:

暫時不提供圖片顯示,請參考《Joomla! extension development》

說明:

如果你想創建想核心按鈕一樣的自定義按鈕,可以使用 JtoolBarHelper 的成員函數 custom() ,并傳遞 task、icon、mouse-over 圖片和文本描述作為參數。

希望本文所述對大家基于joomla程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 在线激情视频 | av超碰| 亚色网站 | 久久久久国产一级毛片高清片 | 蜜桃av噜噜一区二区三区小说 | 色在线视频观看 | 精品国产欧美一区二区三区成人 | 亚洲在线观看免费视频 | 久久综合久久综合久久综合 | 日本中文字幕一区 | 国产中文字幕在线观看 | 91天堂| 日韩色综合 | 免费黄色网页 | 国产精品99久久久久久动医院 | 香蕉久久av一区二区三区 | 日本aⅴ毛片成人实战推荐 伊人久久在线 | 国产精品永久 | 伊人无码高清 | 午夜精品久久久久久久久久久久 | 国产精品美女久久久久久久久久久 | 国产三级在线观看 | 成年人av在线 | 欧美午夜一区 | 超黄网站在线观看 | 久久免费看少妇a高潮一片黄特 | 视频在线一区 | 亚洲专区在线播放 | 狠狠操综合网 | 女人久久久 | 欧美精品在欧美一区二区少妇 | 欧美一级在线 | 狠狠av| 欧美高清一区 | 久草免费福利 | 中文字幕在线观看一区二区 | 欧美精品久久久 | 91国自产精品中文字幕亚洲 | 国产精品亚洲一区二区三区在线 | av片免费看| 国产成人一区二区三区在线观看 |