這是我寫的學習RageFrame的第二篇,這一篇給大家分享下我是如何創建路由,導入外部js,css文件的,這里寫下我的全部流程,希望對大家有所幫助。
話不多說,直接開始,在上一章中,我們已經把項目實例化到本地了(查看點擊這里),但是我發現,用戶名和密碼是隨機出來了,難記,這里給大家先分享如何修改默認用戶名和密碼
1.我們先登錄到后台,點擊用戶名的下標欄,到這里修改密碼。
2.密碼修改完成后,打開項目數據庫,打開rf_backend_member表格,修改這里的用戶名后點擊保存即可(真*物理修改)
項目實例化后,我們看下大致的目錄結構
按照YII2官方文檔的指示,會自帶一個路由,modes生成器,我們直接網站后加/gii
但如果不是localhost訪問時頁面會報錯,這個時候需要修改配置文件,這里放下解決方法
urlManager配置了后綴為 .html,在使用 /gii 訪問時,由於沒有后綴,YII2框架在解析URL時,就直接返回404了,所以在配置了 suffix 屬性的時候,就需要加上.html來訪問,或者不配置’suffix’屬性即可 如果你通過本機以外的機器訪問 gii,請求會被出於安全原因拒絕,所以需要配置 gii 為其添加允許訪問的 IP 地址 'gii' => [ 'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1', '::1', '*.*.*.*'] // 按需調整這里 ]
接下來是創建路由,這里接入我找到的最全流程
也可點擊前往
選擇"Module Generator"(模塊生成器),將會看到如圖所示的畫面。
當光標定位到"Module Class"時,會有一個提示框顯示出來,提示"Module Class"必須是完整的路徑名和類名,這里需要輸入"app\modules\admin\Module"。在"Module ID"輸入框中輸入"admin",然后點擊"Preview"按鈕,該按鈕的功能是展示所有將會被生成的文件,並且這些文件允許在創建之前進行預覽,如圖所示。
點擊"Generate"按鈕,生成所有文件。因為Web服務器進程需要寫入權限,所以要確保"modules"文件夾對於該應用程序是可寫入的。模塊的基本目錄結構創建成功后,會看到如圖所示的頁面。
該頁面中有關於模塊的配置使用說明和,只需要修改應用主配置文件,生成的模塊就可以被正確調用。
到這里,我們的路由就創建好了,但是你會發現,明明照着流程來了,就是訪問不了
這里給出我的解決方法
改兩處 一處是改 common/models/Country里面的 namespace app\models; 為 namespace common\models; 另一處是 改\frontend\controllers\CountryController.php 里面的 namespace app\controllers; use yii\web\Controller; use yii\data\Pagination; use app\models\Country; 為 namespace frontend\controllers; use yii\web\Controller; use yii\data\Pagination; use common\models\Country;
最后解決,成功訪問
接下來分享如何導入外部js,css文件,找到文件目錄中的\web\backend\resources\plugins,放入你的文件
然后修改\backend\assets\AppAsset.php文件
public $basePath = '@webroot'; public $baseUrl = '@web/resources'; public $css = [ 'plugins/toastr/toastr.min.css', // 狀態通知 'plugins/fancybox/jquery.fancybox.min.css', // 圖片查看 'plugins/layui-v2.5.6/css/layui.css', 'plugins/cropper/cropper.min.css', 'css/rageframe.css', 'css/rageframe.widgets.css', ]; public $js = [ 'plugins/layer/layer.js', 'plugins/layui-v2.5.6/layui.js', 'plugins/sweetalert/sweetalert.min.js', 'plugins/fancybox/jquery.fancybox.min.js', 'js/template.js', 'js/rageframe.js', 'js/rageframe.widgets.js', ];
在這里添加上對應文件的路徑即可。
如果對您有所幫助,歡迎您點個關注,我會定時更新技術文檔,大家一起討論學習,一起進步。