我正在尽力通过开发网站来学习具体的5。所以我创建了我的空基本主题,并尝试通过样式定制器实现单个变量 - 只是为了看到我理解它是如何工作的。底线是我在我的主题上获得自定义按钮,但点击后,打开的新显示为空 - 没有变量,没有设置标题,没有后退按钮。
希望有人可以帮助我解决这个问题,没有当地社区可以提出要求,也不会亲自认识任何人 - 所以对你有所帮助:]
所以,我的代码。
主题被称为' carmi'生活在' carmi' '主题'下的文件夹在应用程序目录中。 有一个带有template.less,styles.xml和index.html的CSS目录。还有一个没有使用的排版。
css目录中的是一个预设目录,其中包含两个较少的文件:'默认值'和' testPreset'。两者都至少有一个变量。
对于页面模板我有默认,正面,完整和视图,所有这些都具有完全相同的代码(视图除外)。
我在页面上测试代码(不是单个),尝试了几种页面类型。
默认代码。 PHP:
<?php
defined('C5_EXECUTE') or die ('you shall not pass');
$bodyClass = ($c->isEditMode() ? 'editMode' : '');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php Loader::element('header_required'); ?>
<link href="<?php echo $view->getStylesheet('template.less');?>" rel='stylesheet' type='text/css'>
<?php
//echo $html->css($view->getStylesheet('less/styles.less'));
?>
</head>
<body class="<?php echo $bodyClass; ?>" >
<?php $this->inc('elements/test.php');?>
<div class="test-class">test text</div>
<?php $a = new GlobalArea('Site Header'); $a->display();?>
<?php $a = new Area('Test'); $a->display($c);?>
<?php Loader::element('footer_required'); ?>
</body>
</html>
test.php元素只是一些证明要点的文本。
template.less
中的代码@import "presets/defaults.less";
*{
color: @primary-action-color;
}
.test-class {
color: @another-color;
}
defaults.less中的代码请注意,如果没有3个第一个变量,这也不起作用。
@preset-name: "test";
@preset-icon: concrete-icon(#ffffff, #ff7600, #333333);
@preset-fonts-file: "fonts/defaults.less";
@primary-action-color: #ff7600;
@another-color: #aaaaaa;
styles.xml中的代码
<?xml version="1.0"?>
<styles version="1.0">
<set name="test">
<style name="Primary Action Color" variable="primary-action" type="color" />
</set>
</styles>
testPreset.less中的代码
@primary-action-color: #aaaaaa;
@another-color: #ff7600;
将较少的内容解析到页面中。我可以看到它与它导入的变量一起正常工作。但在自定义面板上没有任何内容。
非常感谢你选择花时间阅读所有这些内容。我坐了很长时间并且非常沮丧:[
答案 0 :(得分:1)
我在具体论坛上得到了一些帮助。似乎defaults.less @ preset-name必须是“Default”。我没有得到开发者的正式回复,但这对我和在论坛上提供帮助的人都有用。