web-dev-qa-db-ja.com

CMSの外部での開発

質問があります。すでに構築されたサイトがあります。CMSにはJoomlaを使用し、「Diametric」というRocketThemeのテーマを使用しています。ページを作成しようとしていますが、そのスタイリングはテンプレートの範囲からかなり外れてしまいます。 Bootstrap Frameworkを使用して、コード化されたHTML/CSSページを開発し、現在のドメインのファイルパス内に保存することはできますか?私が理解しているように、それはページです。 CMSの外部にありますが、まだドメイン内にあります。

7
ParanoidPenguin

フォルダのindex.phpファイル(\joomlaroot\yourfolder\index.phpなど)で、Joomlaサイトのフレームワークのみをロードし、次のコードを使用します。

それが完了すると、「すべてJoomla」に完全にアクセスできるようになります。

<?php
if (!defined('_JEXEC')) {
    define( '_JEXEC', 1 );
    define('JPATH_BASE', dirname(dirname(__FILE__)));
    require_once ( JPATH_BASE .'../includes/defines.php' );
    require_once ( JPATH_BASE .'../includes/framework.php' );
    defined('DS') or define('DS', DIRECTORY_SEPARATOR);
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>My Outside-of-Joomla Page</title>
    </head>
    <body>
        <?php
        $user = jFactory::getUser();
        if($user->id){
            echo '<h1>Hello '.$user->name.'</h1>';
        }else{
            echo 'You are not logged into Joomla';
        }
        ?>
    </body>
</html>

また、\cliフォルダー内には、そのためのフレームワークだけをロードするサンプルがあります。 "cli"を使用-Joomlaサイトでスケジュールされたタスクなどを実行するのに非常に便利です。

8
GDP

あなたはできる。たとえば、Akeeba Admin Tools Proを使用する場合、いくつかの例外を設ける必要がありますが、通常、Joomlaは、使用していないフォルダーやファイルに何があるかを気にしません。

しかし、おそらくそうすべきではありません。メニュー項目ごとにアクティブなテンプレートを割り当てることができます。だから、あなたが望むように見えるテンプレートをあなたの「サブサイト」に単に割り当ててください。あなたのニーズに合ったシンプルなテンプレートを見つけたり、作成するのは難しいでしょう。

また、RocketThemeテンプレートを使用すると、設定を変更した「テンプレートオーバーライド」を比較的簡単に作成し、メニュー項目に割り当てることができます。基本的に、テンプレートから「コピーとして保存」またはテンプレートマネージャーから「複製」を使用します。

3
Ville Niemi