SlideShare a Scribd company logo
XE Open Seminar
XE3 테마 만들기2016. 4. 29
홍성범
XpressEngine 커뮤니티 개발그룹
오늘은!!
http://contest.xpressengine.com/templates/basic/basic.main.html
학습목표
테마를 담을 플러그인을 만들어보기
플러그인에 테마를 추가해 보기.
만든 테마를 출력해 보기.
블레이드(Blade) 템플릿 문법을 사용해 보기.
asset파일(js, css)를 로드해 보기.
테마 설정 페이지 만들어 보기
step1.
플러그인 생성
$ php artisan make:plugin
mytheme 'KhongchiPluginsMyTheme' 'my theme'
https://github.com/khongchi/plugin-mytheme
$ php artisan make:plugin mytheme 'KhongchiPluginsMyTheme' 'my theme'
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Plugin is created and activated successfully.
See ./plugins/mytheme directory. And open http://mysite.com/plugin/mytheme in your browser.
Input and modify your plugin information in ./plugins/mytheme/composer.json file.
XE Open seminar 테마만들기
step2.
테마 생성 & 등록
$ php artisan make:theme mytheme Basic 'BasicTheme'
$ php artisan make:theme mytheme Basic 'BasicTheme'
[New theme info]
plugin: mytheme
class name: KhongchiPluginsMyThemeBasic
class file: src/Theme/Basic.php
id: mytheme@basic
title: BasicTheme
description: Basic Theme supported by Mytheme plugin.
template file: views/theme/basic.blade.php
css file: assets/theme/basic.css,
config id: mytheme@mytheme@basic
config controller file: src/Controllers/Theme/ConfigController.php
Do you want to add theme? [yes|no]:
> yes
Theme is created successfully.
XE Open seminar 테마만들기
XE Open seminar 테마만들기
XE Open seminar 테마만들기
step3.
XE BASIC 템플릿 적용
하기
html 복붙!!!
css, js 로드!!!
meta tag 추가
파일분리
사용자정보 적용
XE Open seminar 테마만들기
XeFrontend
JS, CSS 파일 로드
XeFrontend::css('assets/core/xe-ui-component/xe-ui-component.css')->load();
XeFrontend::css([
'http://contest.xpressengine.com/templates/basic/css/layout.basic.css',
'http://contest.xpressengine.com/templates/basic/css/welcome.css',
])->load();
XeFrontend::js([
'http://contest.xpressengine.com/templates/basic//js/layout.basic.js',
'http://contest.xpressengine.com/templates/basic//js/colorset_test.js'
])->load();
XeFrontend::meta('viewport')->name('viewport')->content('width=1100')->load();
XeFrontend
동일 asset파일 중복 로드 처리
각 asset 파일간 로드 우선순위 지정
출력 위치 지정(head, body)
기타 기능 - 메타태그 추가, 브라우저타이틀 지정
...
Blade Template
Laravel에서 제공하는 Template Engine
매뉴얼
http://laravel.com/docs/5.1/blade
http://xpressengine.github.io/laravel-korean-
docs/docs/5.0/templates (한글)
{{-- 데이터 출력 --}}
{{ $title }}
{!! $description !!}
{{-- 조건문 --}}
@if($title == '')
@endif
{{-- 반복문 --}}
@foreach($posts as $post)
@endforeach
{{-- 레이아웃 구성 --}}
@include('view.name')
@section('sidebar')
@endsection
@yield('content')
@extends('view.layout')
step4.
Main 테마 추가하기
XE Open seminar 테마만들기
frame.blade.php
main.blade.php basic.blade.php
@extends
@section
src/Theme/Main.php 추가!
views/theme/main.blade.php 추가!
composer.json 파일 변경
step5.
테마 커스터마이징
테마 설정
각 테마가 알아서 설정 페이지를 작성합니다..
PHP 코드... 작성해야 합니다.
좀 어려울 수 있지만, 완전 자유롭습니다.
</options>
<options value="C">
<title xml:lang="ko">이미지+제목(세로두배)</title>
</options>
<options value="D">
<title xml:lang="ko">이미지 + 제목 + 내용</title>
</options>
<options value="DD">
<title xml:lang="ko">이미지 + 제목 + 내용(세로두배)</title>
</options>
<options value="EE">
<title xml:lang="ko">소형 슬라이드(기본형)</title>
</options>
</var>
<var name="c_mobile9" type="select">
<title xml:lang="ko">L 위젯9 모바일 노출유무</title>
<description xml:lang="ko">모바일에서 노출유무 설정해 주십시오.</description>
<options value="">
<title xml:lang="ko">노출함</title>
</options>
<options value="N">
<title xml:lang="ko">노출안함</title>
</options>
</var>
<var name="c_title10" type="text">
<title xml:lang="ko">위젯10 타이틀</title>
<description xml:lang="ko">위젯10 타이틀을 입력해 주십시오.</description>
</var>
<var name="c_url10" type="text">
<title xml:lang="ko">L 위젯10 타이틀 링크</title>
<description xml:lang="ko">위젯10 타이틀의 링크를 입력해 주십시오.</description>
</var>
<var name="c_mid10" type="text">
<title xml:lang="ko">L 위젯10 SRL</title>
<description xml:lang="ko">위젯10의 module_srl를 입력해 주십시오.(게시판 편집에 마우스를 올리시면 화면 좌하단에 module_srl=숫자가 보입니다.
ex:112)</description>
</var>
<var name="c_box10" type="select">
<title xml:lang="ko">L 위젯10 크기형태</title>
<description xml:lang="ko">크기형태를 설정해 주십시오.</description>
<options value="">
<title xml:lang="ko">기본형</title>
</options>
<options value="box_x2">
<title xml:lang="ko">가로두배</title>
</options>
<options value="box_y2">
<title xml:lang="ko">세로두배</title>
</options>
</var>
<var name="c_style10" type="select">
<title xml:lang="ko">L 위젯10 내용형태</title>
<description xml:lang="ko">내용형태를 설정해 주십시오.</description>
<options value="">
<title xml:lang="ko">사용안함</title>
</options>
<options value="A">
<title xml:lang="ko">제목</title>
</options>
<options value="AA">
<title xml:lang="ko">제목(세로두배)</title>
</options>
<options value="B">
<title xml:lang="ko">갤러리</title>
</options>
<options value="BB">
<title xml:lang="ko">갤러리(가로두배)</title>
</options>
<options value="C">
<title xml:lang="ko">이미지+제목(세로두배)</title>
</options>
<options value="D">
<title xml:lang="ko">이미지 + 제목 + 내용</title>
</options>
<options value="DD">
<title xml:lang="ko">이미지 + 제목 + 내용(세로두배)</title>
</options>
<options value="EE">
<title xml:lang="ko">소형 슬라이드(기본형)</title>
테마 설정
src/Controllers/Theme/ConfigController.php
views/theme/config.blade.php
모바일 지원
http://xpressengine.io?_m=1
@mobileonly
..... code for mobile
@endmobileonly
-----------------------------------------------------------------
@desktoponly
..... code for desktop
@enddesktoponly
셋팅테마도 바꿀 수 있습
니다.
향후 계획
XE UI Components
Widget Box
in 테마
in 위젯페이지
감사합니다.

More Related Content

PPTX
오픈세미나 플러그인만들기(한번더)
PDF
오픈세미나 플러그인만들기
PPTX
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기
PPTX
[Xe con2016] 오승훈 xe3로 웹사이트 만들기
PDF
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개
PDF
Laravel 로 배우는 서버사이드 #1
PDF
워드프레스 기초 (ABCD) #1
PDF
파이어베이스 스터디
오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기
XE3 a부터 z까지(1) xe3 구조와 간단한 페이지 만들기
[Xe con2016] 오승훈 xe3로 웹사이트 만들기
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개
Laravel 로 배우는 서버사이드 #1
워드프레스 기초 (ABCD) #1
파이어베이스 스터디

What's hot (20)

PDF
XECON2014 Laravel 프레임워크 소개
PPTX
Xe3 a부터 z까지(2) 포인트 적립 플러그인 제작
PPTX
Eclipse RCP 2/2
PPTX
Flask! - python web framework flask 튜토리얼
PDF
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
PPTX
xecon-phpfest2014composer
PDF
Python andselenium
PDF
Ubuntu에서 Flask개발 맛보기 - 1
PDF
거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014
PPTX
휴봇-슬랙 OSX 설치
PDF
Selenium for-ui-test
PPTX
Eclipse RCP 1/2
PPTX
처음 시작하는 라라벨
PDF
Envoy 를 이용한 코드 배포 자동화
PDF
쉽게 쓰여진 Django
PDF
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
PDF
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마
PDF
Selenium for XE
PDF
Composer
PPTX
Eclipse rcp - first week
XECON2014 Laravel 프레임워크 소개
Xe3 a부터 z까지(2) 포인트 적립 플러그인 제작
Eclipse RCP 2/2
Flask! - python web framework flask 튜토리얼
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
xecon-phpfest2014composer
Python andselenium
Ubuntu에서 Flask개발 맛보기 - 1
거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014
휴봇-슬랙 OSX 설치
Selenium for-ui-test
Eclipse RCP 1/2
처음 시작하는 라라벨
Envoy 를 이용한 코드 배포 자동화
쉽게 쓰여진 Django
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마
Selenium for XE
Composer
Eclipse rcp - first week
Ad

Viewers also liked (16)

DOCX
Club deportivo liga universitaria de quito
DOCX
Updated Ansh edit Resume
PDF
CV - Emad Ghanm Elia (1)
PDF
xem tu vi tuong so phong thuy 2016
DOCX
Curriculum Vitae cv emad
DOC
Kalpesh_Jogi_Resume
PDF
2016 02 10 presentacion drones en español completa
DOC
Resume_Ghada
PPTX
Phap luat doan nhghieop
PDF
Sustainbility in PRINCE2 Process Flow
DOCX
Importancia de lavado de manos en personal de enfemería.
PPTX
1127張孝恂傳道-怎樣靠聖靈行事
PDF
PRINCE2 Process Model - Innate Labs
PPTX
Hoàn thiện công tác quản trị nhân sự tại công ty cổ phàn hà đô group
PPTX
Mobile Application Development Platform "Morpheus"
Club deportivo liga universitaria de quito
Updated Ansh edit Resume
CV - Emad Ghanm Elia (1)
xem tu vi tuong so phong thuy 2016
Curriculum Vitae cv emad
Kalpesh_Jogi_Resume
2016 02 10 presentacion drones en español completa
Resume_Ghada
Phap luat doan nhghieop
Sustainbility in PRINCE2 Process Flow
Importancia de lavado de manos en personal de enfemería.
1127張孝恂傳道-怎樣靠聖靈行事
PRINCE2 Process Model - Innate Labs
Hoàn thiện công tác quản trị nhân sự tại công ty cổ phàn hà đô group
Mobile Application Development Platform "Morpheus"
Ad

Similar to XE Open seminar 테마만들기 (20)

PDF
XECon2015 :: [2-3] 홍성범 - XE3 Theme 제작 소개
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 7일차
PDF
알아봅시다, Polymer: Web Components & Web Animations
PDF
Django를 Django답게, Django로 뉴스 사이트 만들기
PPTX
WordPress Meetup for Theme
PDF
Word camp seoul-2012-track2-2
PPTX
Word press child theme
PPTX
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
PDF
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
PDF
Front-end Development Process - 어디까지 개선할 수 있나
PDF
HTML5 & CSS3
PDF
Web Standards HTML5_CSS3
PDF
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기
PDF
Django admin site 커스텀하여 적극적으로 활용하기
PDF
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015
PDF
Express framework tutorial
PDF
Final report201101
PPTX
파이썬 플라스크 이해하기
PPTX
Jdk 7 3-nio2
XECon2015 :: [2-3] 홍성범 - XE3 Theme 제작 소개
처음부터 다시 배우는 HTML5 & CSS3 강의자료 7일차
알아봅시다, Polymer: Web Components & Web Animations
Django를 Django답게, Django로 뉴스 사이트 만들기
WordPress Meetup for Theme
Word camp seoul-2012-track2-2
Word press child theme
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
Front-end Development Process - 어디까지 개선할 수 있나
HTML5 & CSS3
Web Standards HTML5_CSS3
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기
Django admin site 커스텀하여 적극적으로 활용하기
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015
Express framework tutorial
Final report201101
파이썬 플라스크 이해하기
Jdk 7 3-nio2

XE Open seminar 테마만들기

Editor's Notes

  • #8: https://github.com/khongchi/plugin-mytheme
  • #21: blade에 넣는것보다 render에 넣는 것이 코드를 깔끔하게 유지시켜줍니다.