<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=XpressEngine%2F%EC%95%A0%EB%93%9C%EC%98%A8</id>
	<title>XpressEngine/애드온 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=XpressEngine%2F%EC%95%A0%EB%93%9C%EC%98%A8"/>
	<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=XpressEngine/%EC%95%A0%EB%93%9C%EC%98%A8&amp;action=history"/>
	<updated>2026-09-12T16:37:04Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=XpressEngine/%EC%95%A0%EB%93%9C%EC%98%A8&amp;diff=108208&amp;oldid=prev</id>
		<title>Gaon12: 새 문서. 애드온 색인</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=XpressEngine/%EC%95%A0%EB%93%9C%EC%98%A8&amp;diff=108208&amp;oldid=prev"/>
		<updated>2026-08-21T05:59:05Z</updated>

		<summary type="html">&lt;p&gt;새 문서. 애드온 색인&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 개요 ==&lt;br /&gt;
[[XpressEngine]]와 [[라이믹스]]에서 &amp;#039;&amp;#039;&amp;#039;애드온&amp;#039;&amp;#039;&amp;#039;(addon)은 페이지가 처리되는 과정의 정해진 지점에 끼어들어 동작을 바꾸거나 기능을 덧붙이는 확장 요소를 말한다.&lt;br /&gt;
&lt;br /&gt;
[[XpressEngine/모듈|모듈]]이 게시판이나 회원처럼 독립적인 기능 단위를 맡고 자체 화면과 URL을 갖는 것과 달리, 애드온은 자기 화면이 없다. 이미 진행 중인 요청에 개입할 뿐이다. 이 때문에 비교적 적은 코드로 사이트 전반에 영향을 주는 기능을 만들 수 있다는 것이 장점이자, 잘못 만들면 사이트 전체가 느려지거나 깨질 수 있다는 것이 단점이다.&lt;br /&gt;
&lt;br /&gt;
본문의 URL을 자동으로 링크로 바꾸거나, 접속 통계를 기록하거나, 출력 직전의 HTML에 스크립트를 끼워 넣는 것이 대표적인 쓰임이다.&lt;br /&gt;
&lt;br /&gt;
== 동작 방식 ==&lt;br /&gt;
애드온 파일은 요청 처리 과정에서 코어가 정해 둔 &amp;#039;&amp;#039;&amp;#039;호출 지점&amp;#039;&amp;#039;&amp;#039;마다 통째로 실행된다. 그래서 애드온은 파일 안에서 &amp;lt;code&amp;gt;$called_position&amp;lt;/code&amp;gt; 값을 확인하여 필요한 시점에만 동작하도록 작성한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 호출 지점 !! 시점&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;before_module_init&amp;lt;/code&amp;gt; || 모듈이 초기화되기 전. 요청 처리의 가장 이른 단계&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;before_module_proc&amp;lt;/code&amp;gt; || 모듈의 실제 처리가 시작되기 전&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;after_module_proc&amp;lt;/code&amp;gt; || 모듈의 처리가 끝난 뒤. 처리 결과를 가공할 수 있다&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;before_display_content&amp;lt;/code&amp;gt; || 최종 HTML이 출력되기 직전&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
실제 코드는 대체로 이런 형태이다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if ($called_position == &amp;#039;after_module_proc&amp;#039; &amp;amp;&amp;amp; Context::getResponseMethod() == &amp;#039;HTML&amp;#039;)&lt;br /&gt;
{&lt;br /&gt;
	// 이 지점에서만 수행할 작업&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
관리자 화면이나 검색엔진 크롤러에서는 동작할 필요가 없는 경우가 많으므로, &amp;lt;code&amp;gt;Context::get(&amp;#039;module&amp;#039;) != &amp;#039;admin&amp;#039;&amp;lt;/code&amp;gt;이나 &amp;lt;code&amp;gt;!isCrawler()&amp;lt;/code&amp;gt; 같은 조건을 함께 확인하는 것이 일반적이다.&lt;br /&gt;
&lt;br /&gt;
== 파일 구조 ==&lt;br /&gt;
애드온은 설치 경로의 &amp;lt;code&amp;gt;addons&amp;lt;/code&amp;gt; 폴더 아래에 애드온 이름과 같은 폴더를 만들어 배치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
addons/&lt;br /&gt;
└─ 애드온이름/&lt;br /&gt;
   ├─ 애드온이름.addon.php   ← 실행되는 본체&lt;br /&gt;
   └─ conf/&lt;br /&gt;
      └─ info.xml            ← 이름, 설명, 제작자, 설정 항목&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conf/info.xml&amp;lt;/code&amp;gt;에는 여러 언어의 제목과 설명을 함께 넣을 수 있다.&lt;br /&gt;
&lt;br /&gt;
== 애드온 찾기와 설치 ==&lt;br /&gt;
=== 찾기 ===&lt;br /&gt;
[https://rhymix.org/pds 라이믹스 자료실]이나 [[Rhymix Auto Install Repository]], 개발자의 깃허브 저장소 등에서 찾을 수 있다. XE 공식 자료실은 현재 이미지 출력이 되지 않는 등 관리가 되지 않고 있다.&lt;br /&gt;
&lt;br /&gt;
자료를 고를 때는 호환성 정보를 반드시 확인하자. 오래된 애드온은 최신 PHP에서 동작하지 않거나, 라이믹스에서 블랙리스트로 차단되어 있을 수 있다.&lt;br /&gt;
&lt;br /&gt;
=== 설치 ===&lt;br /&gt;
FTP 클라이언트로 설치 경로의 &amp;lt;code&amp;gt;addons&amp;lt;/code&amp;gt; 폴더에 애드온 폴더를 업로드한다. 이때 &amp;lt;code&amp;gt;addons/이름/이름/파일들&amp;lt;/code&amp;gt;처럼 폴더가 이중으로 중첩되지 않도록 주의해야 한다.&lt;br /&gt;
&lt;br /&gt;
업로드한 뒤 &amp;lt;code&amp;gt;관리자 페이지 → 고급 → 애드온&amp;lt;/code&amp;gt;에서 사용으로 설정해야 실제로 동작한다. PC와 모바일에서의 사용 여부를 따로 지정할 수 있다.&lt;br /&gt;
&lt;br /&gt;
라이믹스 [[라이믹스/릴리즈 노트/2.1.34|2.1.34]] 이상에서는 공식 자료실에 등록된 자료를 관리자 화면에서 바로 설치하는 쉬운설치를 이용할 수도 있다.&lt;br /&gt;
&lt;br /&gt;
== 가온 위키의 애드온 문서 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 애드온 !! 제작자 !! 라이선스 !! 라이믹스 블랙리스트&lt;br /&gt;
|-&lt;br /&gt;
| [[XpressEngine/애드온/언어 자동 선택|언어 자동 선택]] || [[기진곰]] || LGPL v2 || 등재됨 (코어에 같은 기능 있음)&lt;br /&gt;
|-&lt;br /&gt;
| [[XpressEngine/애드온/ZipperUpper!|ZipperUpper!]] || [[기진곰]] || LGPL v2 || 등재됨 (코어에 스크립트 합치기 기능 있음)&lt;br /&gt;
|-&lt;br /&gt;
| [[XpressEngine/애드온/검색어 오타수정 애드온|검색어 오타수정 애드온]] || 즈베즈다 || GPL v2 || 등재되지 않음&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 라이믹스에서의 주의 ==&lt;br /&gt;
XE 시절 널리 쓰이던 애드온 가운데 상당수는 라이믹스에서 사용할 수 없다. 같은 기능이 이미 코어에 들어가 있거나, 코어와 충돌하여 다른 기능의 동작을 방해하기 때문이다. 이러한 자료는 블랙리스트로 처리되어 활성화되지 않는다.&lt;br /&gt;
&lt;br /&gt;
블랙리스트에 오른 애드온과 대체 방법은 [[라이믹스/블랙리스트]] 문서에 정리되어 있다.&lt;br /&gt;
&lt;br /&gt;
또한 애드온은 요청 처리 과정에 매번 개입하므로, 활성화된 애드온이 많아질수록 페이지 처리 시간이 늘어난다. 사용하지 않는 애드온은 비활성화하거나 삭제하자.&lt;br /&gt;
&lt;br /&gt;
라이믹스의 애드온 구조에 대한 자세한 설명은 [[라이믹스/애드온]] 문서를 참고하자.&lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
&lt;br /&gt;
* [[XpressEngine]]&lt;br /&gt;
* [[XpressEngine/모듈]]&lt;br /&gt;
* [[라이믹스]]&lt;br /&gt;
* [[라이믹스/애드온]]&lt;br /&gt;
* [[라이믹스/블랙리스트]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 분류 --&amp;gt;&lt;br /&gt;
[[분류:XE 애드온]]&lt;/div&gt;</summary>
		<author><name>Gaon12</name></author>
	</entry>
</feed>