SlideShare uma empresa Scribd logo
1 de 40
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.
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.
step3.
XE BASIC 템플릿 적용
하기
html 복붙!!!
css, js 로드!!!
meta tag 추가
파일분리
사용자정보 적용
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 테마 추가하기
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 위젯페이지
감사합니다.

Mais conteúdo relacionado

Mais procurados

Xe3 a부터 z까지(2) 포인트 적립 플러그인 제작
Xe3 a부터 z까지(2) 포인트 적립 플러그인 제작Xe3 a부터 z까지(2) 포인트 적립 플러그인 제작
Xe3 a부터 z까지(2) 포인트 적립 플러그인 제작
승훈 오
 

Mais procurados (20)

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

Destaque

Updated Ansh edit Resume
Updated Ansh edit  ResumeUpdated Ansh edit  Resume
Updated Ansh edit Resume
Anshul Sharma
 
CV - Emad Ghanm Elia (1)
CV - Emad Ghanm Elia (1)CV - Emad Ghanm Elia (1)
CV - Emad Ghanm Elia (1)
Eng.Elia emad
 
Curriculum Vitae cv emad
Curriculum Vitae cv emadCurriculum Vitae cv emad
Curriculum Vitae cv emad
Emad AlZyod
 
Kalpesh_Jogi_Resume
Kalpesh_Jogi_ResumeKalpesh_Jogi_Resume
Kalpesh_Jogi_Resume
Kalpesh Jogi
 

Destaque (16)

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

Semelhante a XE Open seminar 테마만들기

처음부터 다시 배우는 HTML5 & CSS3 강의자료 7일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 7일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 7일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 7일차
Michael Yang
 
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
yongwoo Jeon
 
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
경원 홍
 

Semelhante a XE Open seminar 테마만들기 (20)

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

XE Open seminar 테마만들기

Notas do Editor

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