0

動的 css.php ファイルを使用してテンプレートを作成しようとしています。cssファイルとして使用されているphpファイルでjoomlaオブジェクトクラスを呼び出すための解決策を求めて、一晩中グーグルで検索しました。私はこれが以前に行われたのを見たことがありますが、それがどのように達成されたかに注意を払ったことはありません. これは私がこれまでに持っているものです。

注 - addstyledecloration を使用したくないのは、複数のパラメーターを扱う場合に面倒だからです *

index.php:

<?php                               
defined('_JEXEC') or die;
require($this->baseurl.'templates/'.$this->template.'/includes/config.php');
?>

<!DOCTYPE html>
<html lang="en" xmlns:fb="http://ogp.me/ns/fb#">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <jdoc:include type="head" />
</head>

config.php:

<?php
defined('_JEXEC') or die;
//joomla configuration
JLoader::import('joomla.filesystem.file');
JHtml::_('jquery.framework', false);
JHtml::_('bootstrap.framework');
$app = JFactory::getApplication();
$config = JFactory::getConfig();
$doc = JFactory::getDocument();
$template_path = $this->baseurl.'/'.'templates'.'/'.$this->template;
$jui_path = $this->baseurl.'/media/jui';

$doc->addStyleSheet($jui_path.'/css/bootstrap.min.css');
$doc->addStyleSheet($jui_path.'/css/bootstrap-responsive.min.css');
$doc->addScript($jui_path.'/js/bootstrap.min.js');
$doc->addStyleSheet($template_path.'/css/template.css');
$doc->addStyleSheet($template_path.'/includes/template-css.php');
$doc->addScript($template_path.'/js/template.js');
?>

テンプレート-css.php:

<?php
header("Content-type: text/css");
?>

body {background-color: #000;}
body {background-color: <?php $this->params->get('body') ?>;}
4

2 に答える 2

0

Joomla 環境外でリクエストを行っているため、joomla フレームワーク全体をロードする必要があります。Joomla の読み込み方法については、こちらの JFactory fails to import を参照してください。これで、データベースを選択してテンプレート パラメーターを選択するか、さらにクラスを読み込んでテンプレート オブジェクトを取得できます (これを行う方法がわかりません。開発用ラップトップが手元にありません)。

于 2014-01-19T07:37:52.093 に答える