Я делаю все возможное, чтобы выучить конкретный 5 путем разработки сайта. Поэтому я создал свою пустую базовую тему и попытался реализовать одну переменную с помощью настройщика стилей — просто чтобы понять, как я понимаю, как она работает. Суть в том, что я получаю кнопку настройки в моей теме, но при щелчке открывается новое открытое окно — без переменных, без заданных заголовков, без кнопки возврата.
Я надеялся, что кто-то может помочь мне с этим, ни одно местное сообщество не спросит, лично не знаю никого — так что это все вроде вас:]
Итак, мой код.
Тема называется «Карми», находится в папке «Карми» в разделе «Темы» в каталоге приложения.
имеет каталог CSS с template.less, styles.xml и index.html. Также есть typography.less, который не используется.
внутри каталога 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;
тем меньше разбирается на странице. Я вижу, как он работает правильно с импортированными переменными. Но ничего на панели настройки.
Большое спасибо, если вы решили потратить время, чтобы прочитать все это. Я долго сидел на этом и очень расстроился: [
Я получил некоторую помощь на конкретном форуме. Похоже, что defaults.less @ preset-name должно быть «По умолчанию». Я не получил официального ответа от разработчика, но это сработало и для меня, и для человека, предлагающего помощь на форуме.
Других решений пока нет …