2014-11-10 6 views
1

사이트를 개발하여 콘크리트 5를 배우기 위해 최선을 다하고 있습니다. 그래서 비어있는 기본 테마를 만들고 스타일 커 스터 마이저를 통해 단일 변수를 구현하려고 시도했습니다. 어떻게 작동하는지 이해할 수 있습니다. 최종선은 내 테마에서 맞춤 설정 버튼을 얻는 것이지만 클릭하면 열리는 새 디스플레이가 비어 있습니다. 변수가없고 제목이없고 뒤로 버튼이 없습니다. 콘크리트 5.7 (+) 스타일 커스터마이저가 사용자 정의 테마에서 작동하지 않습니다.

사람이 나를 도울 수 바라고, 어떤 지역 사회가 개인적으로 너무 사람을 모르는, 요구하지이었다 - 그래서 당신을 좀 전부입니다 :]

그래서, 내 코드입니다.

테마는 'carmi'라고하며 응용 프로그램 디렉토리의 'themes'아래에있는 'carmi'폴더에 있습니다. 에는 template.less, styles.xml 및 index.html이있는 CSS 디렉토리가 있습니다. 활자체도 있습니다. 사용하지 않는 것이 있습니다.

css 디렉토리 안에는 'defaults'와 'testPreset'이라는 두 개의 파일이 적은 사전 설정 디렉토리가 있습니다. 둘 다 최소한 하나의 변수가 있습니다.

페이지 템플리트에 대한 기본, 전면, 전체 및보기가 있으며 모두 동일한 코드 (보기 제외)로 구성됩니다.

페이지에서 코드를 테스트하고 (단일이 아닌) 여러 페이지 유형을 시도했습니다.

코드가 기본값입니다. ph :

<?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 요소는 포인트를 증명하기위한 텍스트 일뿐입니다. 이 3 개 첫번째 변수없이도 작동하지 않았다 defaults.less 노트에

@import "presets/defaults.less"; 

*{ 
    color: @primary-action-color; 
} 

.test-class { 
    color: @another-color; 
} 

코드 template.less에서

코드입니다.

@primary-action-color: #aaaaaa; 
@another-color: #ff7600; 

덜 testPreset.less

에 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> 

코드

@preset-name: "test"; 
@preset-icon: concrete-icon(#ffffff, #ff7600, #333333); 
@preset-fonts-file: "fonts/defaults.less"; 

@primary-action-color: #ff7600; 
@another-color: #aaaaaa; 

코드 페이지로 파싱된다. 가져온 변수가 제대로 작동하는지 확인할 수 있습니다. 하지만 사용자 정의 패널에는 아무 것도 없습니다.

이 모든 것을 읽으려면 시간을내어 주셔서 감사합니다. 나는 이것에 오랫동안 앉아 있었고 매우 좌절감을 느꼈다. [

답변

1

나는 구체적인 포럼에서 도움을 얻었다. defaults.less @ preset-name은 "Default"여야합니다. 개발자의 공식 답변을 얻지는 못했지만 포럼에서 도움을 제공 한 사람은 물론 저에게 도움이되었습니다.