웹마스터 팁
모든 원하는 확장변수를 선택해서 최근게시물 위젯에 나타내기 간단팁
2009.10.17 21:11
원하는 확장변수 번호를 지정해서 최근 게시물 위젯에 적용하기 위한 간단 팁입니다.
최근문서위젯인 newest_document 내용을 약간 수정하셔서 사용하시면 됩니다.
스킨은 default스킨을 이용했습니다.
<적용예제 미리보기>
1. xe->widegets->newest_document-> newest_document.class.php :
약70번째줄에 보시면 아래와 같은 내용이 나오는데요, 빨간색 부분부터 제가 첨가한 내용입니다.
저는 확장변수 선택범위를 20번까지 했지만 필요에 따라서 줄이거나 늘이거나 하시면 됩니다.
필요에 따라서 복사하기 쉽게 그냥 20번까지 그대로 다 적어 봤습니다.
[내용부분]
// 결과가 있으면 각 문서 객체화를 시킴
$modules = array();
if(count($output->data)) {
foreach($output->data as $key => $attribute) {
$modules[$attribute->module_srl]->mid = $attribute->mid;
$modules[$attribute->module_srl]->site_srl = $attribute->site_srl;
$document_srl = $attribute->document_srl;
$oDocument = null;
$oDocument = new documentItem();
$oDocument->setAttribute($attribute, false);
$GLOBALS['XE_DOCUMENT_LIST'+
'+
'][$oDocument->document_srl] = $oDocument;
$document_list[$key] = $oDocument;
// 확장 변수 1번 출력
if($args->extra_var_num_1) {
$oDocument->extra_value_1 = $oDocument->getExtraValue($args->extra_var_num_1);
$oDocument->extra_var_num_1 = $args->extra_var_num_1;
}
// 확장 변수 2번 출력
if($args->extra_var_num_2) {
$oDocument->extra_value_2 = $oDocument->getExtraValue($args->extra_var_num_2);
$oDocument->extra_var_num_2 = $args->extra_var_num_2;
}
// 확장 변수 3번 출력
if($args->extra_var_num_3) {
$oDocument->extra_value_3 = $oDocument->getExtraValue($args->extra_var_num_3);
$oDocument->extra_var_num_3 = $args->extra_var_num_3;
}
// 확장 변수 4번 출력
if($args->extra_var_num_4) {
$oDocument->extra_value_4 = $oDocument->getExtraValue($args->extra_var_num_4);
$oDocument->extra_var_num_4 = $args->extra_var_num_4;
}
// 확장 변수 5번 출력
if($args->extra_var_num_5) {
$oDocument->extra_value_5 = $oDocument->getExtraValue($args->extra_var_num_5);
$oDocument->extra_var_num_5 = $args->extra_var_num_5;
}
// 확장 변수 6번 출력
if($args->extra_var_num_6) {
$oDocument->extra_value_6 = $oDocument->getExtraValue($args->extra_var_num_6);
$oDocument->extra_var_num_6 = $args->extra_var_num_6;
}
// 확장 변수 7번 출력
if($args->extra_var_num_7) {
$oDocument->extra_value_7 = $oDocument->getExtraValue($args->extra_var_num_7);
$oDocument->extra_var_num_7 = $args->extra_var_num_7;
}
// 확장 변수 8번 출력
if($args->extra_var_num_8) {
$oDocument->extra_value_8 = $oDocument->getExtraValue($args->extra_var_num_8);
$oDocument->extra_var_num_8 = $args->extra_var_num_8;
}
// 확장 변수 9번 출력
if($args->extra_var_num_9) {
$oDocument->extra_value_9 = $oDocument->getExtraValue($args->extra_var_num_9);
$oDocument->extra_var_num_9 = $args->extra_var_num_9;
}
// 확장 변수 10번 출력
if($args->extra_var_num_10) {
$oDocument->extra_value_10 = $oDocument->getExtraValue($args->extra_var_num_10);
$oDocument->extra_var_num_10 = $args->extra_var_num_10;
}
// 확장 변수 11번 출력
if($args->extra_var_num_11) {
$oDocument->extra_value_11 = $oDocument->getExtraValue($args->extra_var_num_11);
$oDocument->extra_var_num_11 = $args->extra_var_num_11;
}
// 확장 변수 12번 출력
if($args->extra_var_num_12) {
$oDocument->extra_value_12 = $oDocument->getExtraValue($args->extra_var_num_12);
$oDocument->extra_var_num_12 = $args->extra_var_num_12;
}
// 확장 변수 13번 출력
if($args->extra_var_num_13) {
$oDocument->extra_value_13 = $oDocument->getExtraValue($args->extra_var_num_13);
$oDocument->extra_var_num_13 = $args->extra_var_num_13;
}
// 확장 변수 14번 출력
if($args->extra_var_num_14) {
$oDocument->extra_value_14 = $oDocument->getExtraValue($args->extra_var_num_14);
$oDocument->extra_var_num_14 = $args->extra_var_num_14;
}
// 확장 변수 15번 출력
if($args->extra_var_num_15) {
$oDocument->extra_value_15 = $oDocument->getExtraValue($args->extra_var_num_15);
$oDocument->extra_var_num_15 = $args->extra_var_num_15;
}
// 확장 변수 16번 출력
if($args->extra_var_num_16) {
$oDocument->extra_value_16 = $oDocument->getExtraValue($args->extra_var_num_16);
$oDocument->extra_var_num_16 = $args->extra_var_num_16;
}
// 확장 변수 17번 출력
if($args->extra_var_num_17) {
$oDocument->extra_value_17 = $oDocument->getExtraValue($args->extra_var_num_17);
$oDocument->extra_var_num_17 = $args->extra_var_num_17;
}
// 확장 변수 18번 출력
if($args->extra_var_num_18) {
$oDocument->extra_value_18 = $oDocument->getExtraValue($args->extra_var_num_18);
$oDocument->extra_var_num_18 = $args->extra_var_num_18;
}
// 확장 변수 19번 출력
if($args->extra_var_num_19) {
$oDocument->extra_value_19 = $oDocument->getExtraValue($args->extra_var_num_19);
$oDocument->extra_var_num_19 = $args->extra_var_num_19;
}
// 확장 변수 20번 출력
if($args->extra_var_num_20) {
$oDocument->extra_value_20 = $oDocument->getExtraValue($args->extra_var_num_20);
$oDocument->extra_var_num_20 = $args->extra_var_num_20;
}
}
$oDocumentModel->setToAllDocumentExtraVars();
[내용부분 끝]
2. xe->widegets->newest_document->conf->info.xml
파일의 <extra_vars>내용안의 적당한 곳에 다음을 삽입하시면 됩니다.
<var id="extra_var_num_1">
<name>확장변수 1</name>
<type>select</type>
<description>확장 변수1 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수1출력</name><value>1</value></options>
</var>
<var id="extra_var_num_2">
<name>확장변수 2</name>
<type>select</type>
<description>확장 변수2 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수2출력</name><value>2</value></options>
</var>
<var id="extra_var_num_3">
<name>확장변수 3</name>
<type>select</type>
<description>확장 변수3 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수3출력</name><value>3</value></options>
</var>
<var id="extra_var_num_4">
<name>확장변수 4</name>
<type>select</type>
<description>확장 변수4 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수4출력</name><value>4</value></options>
</var>
<var id="extra_var_num_5">
<name>확장변수 5</name>
<type>select</type>
<description>확장 변수5 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수5출력</name><value>5</value></options>
</var>
<var id="extra_var_num_6">
<name>확장변수 6</name>
<type>select</type>
<description>확장 변수6 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수6출력</name><value>6</value></options>
</var>
<var id="extra_var_num_7">
<name>확장변수 7</name>
<type>select</type>
<description>확장 변수7 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수7출력</name><value>7</value></options>
</var>
<var id="extra_var_num_8">
<name>확장변수 8</name>
<type>select</type>
<description>확장 변수8 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수8출력</name><value>8</value></options>
</var>
<var id="extra_var_num_9">
<name>확장변수 9</name>
<type>select</type>
<description>확장 변수9 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수9출력</name><value>9</value></options>
</var>
<var id="extra_var_num_10">
<name>확장변수 10</name>
<type>select</type>
<description>확장 변수10 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수10출력</name><value>10</value></options>
</var>
<var id="extra_var_num_11">
<name>확장변수 11</name>
<type>select</type>
<description>확장 변수11 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수11출력</name><value>11</value></options>
</var>
<var id="extra_var_num_12">
<name>확장변수 12</name>
<type>select</type>
<description>확장 변수12 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수12출력</name><value>12</value></options>
</var>
<var id="extra_var_num_13">
<name>확장변수 13</name>
<type>select</type>
<description>확장 변수13 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수13출력</name><value>13</value></options>
</var>
<var id="extra_var_num_14">
<name>확장변수 14</name>
<type>select</type>
<description>확장 변수14 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수14출력</name><value>14</value></options>
</var>
<var id="extra_var_num_15">
<name>확장변수 15</name>
<type>select</type>
<description>확장 변수15 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수15출력</name><value>15</value></options>
</var>
<var id="extra_var_num_16">
<name>확장변수 16</name>
<type>select</type>
<description>확장 변수16 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수16출력</name><value>16</value></options>
</var>
<var id="extra_var_num_17">
<name>확장변수 17</name>
<type>select</type>
<description>확장 변수17 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수17출력</name><value>17</value></options>
</var>
<var id="extra_var_num_18">
<name>확장변수 18</name>
<type>select</type>
<description>확장 변수18 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수18출력</name><value>18</value></options>
</var>
<var id="extra_var_num_19">
<name>확장변수 19</name>
<type>select</type>
<description>확장 변수19 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수19출력</name><value>19</value></options>
</var>
<var id="extra_var_num_20">
<name>확장변수 20</name>
<type>select</type>
<description>확장 변수20 출력여부</description>
<options><name>출력안함</name><value></value></options>
<options><name>확장변수20출력</name><value>20</value></options>
</var>
3. xe->widegets->newest_document->skins->default->list.html
저는 디폴트 스킨에만 적용해 봤습니다. 빨간색 부분부터 제가 추가한 내용입니다.
확장변수를 둘러싸는 기호나 색깔등은 원하시는대로 바꾸시면 됩니다.
[내용부분]
<div class="newest_document_default_{$colorset}">
<div class="newest_document_default_box">
<!--@foreach($widget_info->document_list as $oDocument)-->
<div class="document_box">
<div class="document">
<!--확장변수 출력-->
<!--@if($oDocument->extra_value_1)-->
[<font color="red"><strong>{$oDocument->extra_value_1}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_2)-->
<<font color="#2a0287"><strong>{$oDocument->extra_value_2}</strong></font>>
<!--@end-->
<!--@if($oDocument->extra_value_3)-->
[<font color="#6538d7"><strong>{$oDocument->extra_value_3}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_4)-->
[<font color="#007709"><strong>{$oDocument->extra_value_4}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_5)-->
[<font color="blue"><strong>{$oDocument->extra_value_5}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_6)-->
[<font color="#2a0287"><strong>{$oDocument->extra_value_6}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_7)-->
- <font color="#6538d7"><strong>{$oDocument->extra_value_7}</strong></font> -
<!--@end-->
<!--@if($oDocument->extra_value_8)-->
[<font color="#007709"><strong>{$oDocument->extra_value_8}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_9)-->
[<font color="black">{$oDocument->extra_value_9}</font>]
<!--@end-->
<!--@if($oDocument->extra_value_10)-->
[<font color="blue"><strong>{$oDocument->extra_value_10}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_11)-->
[<font color="blue"><strong>{$oDocument->extra_value_11}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_12)-->
[<font color="#2a0287"><strong>{$oDocument->extra_value_12}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_13)-->
[<font color="#6538d7"><strong>{$oDocument->extra_value_13}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_14)-->
[<font color="#330374"><strong>{$oDocument->extra_value_14}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_15)-->
[<font color="blue"><strong>{$oDocument->extra_value_15}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_16)-->
[<font color="#2a0287"><strong>{$oDocument->extra_value_16}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_17)-->
[<font color="#6538d7"><strong>{$oDocument->extra_value_17}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_18)-->
[<font color="#007709"><strong>{$oDocument->extra_value_18}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_19)-->
[<font color="blue"><strong>{$oDocument->extra_value_19}</strong></font>]
<!--@end-->
<!--@if($oDocument->extra_value_20)-->
[<font color="blue"><strong>{$oDocument->extra_value_20}</strong></font>]
<!--@end-->
<!--확장변수 출력 끝-->
[내용부분 끝]
<적용예제 미리보기>
댓글 12
-
James 009
2009.10.18 17:16
-
jsuimage
2009.10.19 09:46
임시방편으로 세로로 나타내기 위해서는요. 다음 2가지를 적용하시면 됩니다.
1) 단지 list.html의 확장변수 내용 다음에 모두 <//br>을 첨가하시면 됩니다. 하나만 예를 들면 다음과 같이요.
<!--@if($oDocument->extra_value_1)-->
[<font color="red"><strong>{$oDocument->extra_value_1}</strong></font>] </br>
<!--@end-->2) 또한 적용하시는 style.css파일에서 height (높이조절)을 검색하셔서 height부분을 모두 삭제합니다.
그러면 첨부된 그림처럼 나옵니다. (그런데 세로적용 테스트 해 보니 IE, 오페라등에서는 잘나오는데 크롬에서는 가로로 나오네요ㅠㅠ)
-
James 009
2009.10.19 11:39
감사합니다. 아주 좋은 것 같습니다
다름이 아니오라 작성자 이름을 빼려면 어떻게 한나요 또 < >, [ ]을 변경하려면 어찌하니요
감사합니다.
<중국어>
[서울]
-여-
[21세] -------
'''' 진예
-
jsuimage
2009.10.20 09:32
둘러싸고 있는 기호 표시는 html파일 <font>앞뒤로 있습니다. 그것을 임의로 바꾸시면 됩니다.
예)
<!--@if($oDocument->extra_value_1)-->
[<font color="red"><strong>{$oDocument->extra_value_1}</strong></font>]
<!--@end--> -
James 009
2009.10.20 13:51
자세한 답변 감사합니다, 잘 쓰도록 하겠습니다
-
James 009
2009.10.19 13:47
작성자 이름 제거는 http://www.xpressengine.com/18293441 이대로 하면 되는군요
감사합니다
-
혀기
2009.11.06 09:54
1. xe->widegets->newest_document-> newest_document.class.php :
여기 부분에
// 확장 변수 1번 출력
if($args->extra_var_num_1) {
$oDocument->extra_value_1 = $oDocument->getExtraValue($args->extra_var_num_1);
$oDocument->extra_var_num_1 = $args->extra_var_num_1;
}위에 있는 내용 입력하니 아래와 같은 에러 메세지가 발생되는데 왜 그런건지 잘 ^^;
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting_users/june7772/www/widgets/newest_document/newest_document.class.php:1) in /home/hosting_users/june7772/www/classes/display/DisplayHandler.class.php on line 425
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting_users/june7772/www/widgets/newest_document/newest_document.class.php:1) in /home/hosting_users/june7772/www/classes/display/DisplayHandler.class.php on line 426
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting_users/june7772/www/widgets/newest_document/newest_document.class.php:1) in /home/hosting_users/june7772/www/classes/display/DisplayHandler.class.php on line 427
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting_users/june7772/www/widgets/newest_document/newest_document.class.php:1) in /home/hosting_users/june7772/www/classes/display/DisplayHandler.class.php on line 428
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting_users/june7772/www/widgets/newest_document/newest_document.class.php:1) in /home/hosting_users/june7772/www/classes/display/DisplayHandler.class.php on line 154
Warning: Cannot modify header information - headers already sent by (output started at /home/hosting_users/june7772/www/widgets/newest_document/newest_document.class.php:1) in /home/hosting_users/june7772/www/classes/display/DisplayHandler.class.php on line 154 -
jsuimage
2009.11.06 22:25
제가 적용한 파일3개 모두 그대로 적용 하시면 에러가 안 날텐데요..(참고로, 저는 XE1.2.4버전에서 적용했습니다.)
-
chohee
2010.02.21 10:17
안녕하세요..좋은 팁 감사드립니다.
다름이 아니라, 가르쳐주신대로 적용했구요, 에러메세지도 없습니다.
그런데, 위젯설정에서 확장변수출력,출력안함, 모두 뜨구요, 리스트에 출력이 안되네요.
작성자만 볼 수 있도록 되어있는 게시판인데, 혹 그러면 추출이 안되나요?
아니면, 한줄입력, 체크박스,전화번호입력,text area 등 다양한 입력형태를 사용했는데, 어느 부분을 고쳐야할까요?
알려주시면 정말 감사하겠습니다.
-
주하니
2010.04.28 13:37
1.40 contents 위젯에서는 어떻게 하는지?
-
joyhmbc
2012.05.07 18:40
좋은 정보 감사합니다.
-
숭숭군
2012.05.07 22:27
음.. 이거 1.5에서도 되나요.. 게시물이 3년전 게시물이네요 ㅎㄷㄷ
초보라서 여쭙니다
잘 작동하는 군요 대신 가로 형태를 세로 형태로 하려면 어떻게 , 어디를 수정해야하는 지요 감사합니다