我只是用Yii框架構建一個CMS框架。我想將CMS部署到多個域。如何跨多個域重用代碼?
/home/root/www/domain1.com
/home/root/www/domain2.com
/home/root/www/domain3.com
/home/root/www/domain4.com
我想重用的CSS文件和所有文件保護文件夾下,這樣一旦我更新的CSS和受保護的文件夾中的文件,所有的域應反映這一變化。
我只是用Yii框架構建一個CMS框架。我想將CMS部署到多個域。如何跨多個域重用代碼?
/home/root/www/domain1.com
/home/root/www/domain2.com
/home/root/www/domain3.com
/home/root/www/domain4.com
我想重用的CSS文件和所有文件保護文件夾下,這樣一旦我更新的CSS和受保護的文件夾中的文件,所有的域應反映這一變化。
是的,Yii支持這個。實際上,這是我配置一些網站的方式。
(當然,這個的前提是有你在同一臺服務器上的所有網站。但我看到埃文有這一點。這是行不通的翻過服務器。)
首先,它會要求你將您的代碼移出web-root並移入文檔根目錄。請參閱here。
其次,它需要你使用Yii AssetsBase。見here和there。我發現資產管理很難配置(但輕而易舉)。這是我結束了:
在組件/ Controller.php這樣包括以下內容:
/**
* @var registers which js, css, images have been published
* See: http://www.yiiframework.com/wiki/311/assetmanager-clearing-browser-s-cache-on-site- update/
*/
private $_assetsBase;
public function getAssetsBase()
{
if ($this->_assetsBase === null) {
Yii::app()->assetManager->newDirMode = 0755;
Yii::app()->assetManager->newFileMode = 0644;
$this->_assetsBase = Yii::app()->assetManager->publish(
Yii::getPathOfAlias('application.assets'),
false,
-1,
defined('YII_DEBUG') && YII_DEBUG
);
}
return $this->_assetsBase;
}
以上的前提是你的JS,CSS和圖像的位置如下:
protected/assets/js/mobiscroll-2.3.custom.min.js
protected/assets/css/mobiscroll-2.3.custom.min.css
protected/assets/img/einstein.png
然後在你的意見,請致電您的資產情況如下:
<?php
$cs->registerScriptFile($this->assetsBase.'/js/mobiscroll-2.3.1/js/mobiscroll-2.3.custom.min.js');
$cs->registerCssFile($this->assetsBase.'/js/mobiscroll-2.3.1/css/mobiscroll-2.3.custom.min.css');
?>
<img src="<?php echo $this->assetsBase ?>/img/einstein.png">
最後,你有後對您的JS或CSS進行了更改,您將需要在所有用戶的瀏覽器中強制執行緩存刷新。您可以通過觸摸(原始)資產目錄來完成此操作。這將迫使Yii重新刷新(發佈的)資產目錄。隨後,您的JS & CSS將在所有用戶的瀏覽器中刷新。做這樣的事情:
$command = 'touch /path/to/your/website/protected/assets';
exec ($command.' 2>&1', $output , $result );
if ($result === 0) {
$message = 'Assets have been pointed; a new directory should now be hashed';
} else {
$message = 'Looks like something went wrong. Assets not pointed?';
} // END if
它很好用。 – 2013-02-28 08:56:23
很高興聽到! – 2013-02-28 09:13:54
再說了???? – itachi 2013-02-27 10:20:16