<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[TNF : Tatter Network Foundation forum - 카테고리를 드랍다운 메뉴로 만들기 질문]]></title>
		<link>http://forum.tattersite.com/ko/viewtopic.php?id=2500</link>
		<description><![CDATA[카테고리를 드랍다운 메뉴로 만들기 질문 의 최근 RSS 글들.]]></description>
		<lastBuildDate>Thu, 04 Jan 2007 09:09:16 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[RSS 답글: 카테고리를 드랍다운 메뉴로 만들기 질문]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14744#p14744</link>
			<description><![CDATA[<p><strong>티스토리에서 카테고리 드롭다운 형태로 변신 시키기</strong></p><p>작업하기전, 카테고리는 리스트형으로 선택해야 함. [##_category_list_##] &lt;-으로..(ul태그로 출력하는...)</p><p><span class="bbu"><strong>첫째</strong></span>, 티스토리에서 사용하는 스킨의 편집모드에서 아래 스크립트를 &lt;head&gt;와&lt;/head&gt;사이에 넣습니다.<br /></p><div class="codebox"><pre><code>&lt;script type=&quot;text/javascript&quot;&gt;
// 티스토리용 카테고리 -&gt; 드롭다운 형태로 변신 시키기
function categoryConvert(id){
    var getHtml = &#039;[##_category_list_##]&#039;;
    getHtml = getHtml.replace(new RegExp(&quot;&lt;ul&gt;&quot;, &quot;gi&quot;), &quot;&quot;);
    getHtml = getHtml.replace(new RegExp(&quot;&lt;/ul&gt;&quot;, &quot;gi&quot;), &quot;&quot;);
    getHtml = getHtml.replace(new RegExp(&quot;&lt;/li&gt;&quot;, &quot;gi&quot;), &quot;&quot;);
    getHtml = getHtml.replace(new RegExp(&quot;&lt;/a&gt;&quot;, &quot;gi&quot;), &quot;&quot;);
    getHtml = getHtml.replace(new RegExp(&quot;&lt;li class=\&quot;(.*)\&quot;&gt;&lt;a(.*)&quot;, &quot;gi&quot;), &quot;&lt;li&gt;&lt;a class=\&quot;selected\&quot;&quot;+&quot;$2&quot;);

    var getSelect    = &quot;&quot;;
    var tmpSplitA    = &quot;&quot;;
    var tmpSplitB    = &quot;&quot;;
    var subLine        = &quot;&quot;;
    var getSelected = &quot;&quot;;
    var regSplit    = getHtml.split(&quot;&lt;li&gt;&quot;);
    var regLink        = new RegExp(&#039;&lt;a(.*)href=&quot;(.*)&quot;&gt;(.*) &lt;span.*&#039;, &#039;i&#039;);
    var regTitle    = new RegExp(&#039;&lt;a[^&gt;]*&gt;(.*) &lt;span .*?&gt;&#039;, &#039;i&#039;);
    var regCnt        = new RegExp(&#039;&lt;span class=&quot;c_cnt&quot;&gt;(.*)&lt;/span&gt;&#039;, &#039;i&#039;);
    var selectStart    = &quot;&lt;select id=\&quot;s_Category\&quot; onchange=\&quot;location.href=&#039;&#039;+this.value;\&quot;&gt;\n&quot;;
    var selectEnd    = &#039;&lt;/select&gt;\n&#039;;

    for(var i=1; i&lt;regSplit.length; i++){
        getLink        = regLink.exec(regSplit[i]);
        getTitle    = regTitle.exec(regSplit[i]);
        getCnt        = regCnt.exec(regSplit[i]);
        tmpSplitA    = regSplit[2].split(&quot;/&quot;);
        tmpSplitB    = regSplit[i].split(&quot;/&quot;);
        getSelected = getLink[1].replace(&quot; &quot;,&quot;&quot;).length;
        if(getSelected != 0) getSelected = &quot; selected&quot;;
        if(tmpSplitA.length &lt; tmpSplitB.length){subLine = &quot; - &quot;;}else{subLine=&quot;&quot;};
        getSelect    = getSelect + &#039;\t&lt;option value=&quot;&#039; + getLink[2] + &#039;&quot; &#039;+getSelected+&#039;&gt;&#039; + subLine + getTitle[1] + &#039; &#039; + getCnt[1] + &#039;&lt;/option&gt;\n&#039;;
    }
    return document.getElementById(id).innerHTML = selectStart + getSelect + selectEnd;
}
&lt;/script&gt;</code></pre></div><p><span class="bbu"><strong>둘째</strong></span>, 편집중인 스킨에서 &#039;[##_category_list_##]&#039;과 아래 태그코드로 대체함.<br /></p><div class="codebox"><pre><code>&lt;div id=&quot;CategorySelectbox&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;categoryConvert(&quot;CategorySelectbox&quot;);&lt;/script&gt;&lt;/div&gt;</code></pre></div><p><span class="bbu"><strong>위 예제</strong></span>,<br /></p><div class="codebox"><pre><code>&lt;s_sidebar_element&gt;
&lt;!-- 카테고리 모듈 --&gt;
&lt;div class=&quot;category&quot;&gt;
    &lt;h3&gt;카테고리&lt;/h3&gt;
    &lt;!-- [# #_category_list_# #] --&gt;
    &lt;div id=&quot;CategorySelectbox&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;categoryConvert(&quot;CategorySelectbox&quot;);&lt;/script&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/s_sidebar_element&gt;</code></pre></div><p>- 예제 블로그 : <a href="http://www.jparker.co.kr/blog/">http://www.jparker.co.kr/blog/</a><br />- 드롭다운 메뉴의 가로길이 또는 스타일을 조정하려면, 사용스킨의 css편집에서 아래와 같이 추가하여 조절하시면 됩니다.<br /></p><div class="quotebox"><blockquote><p>#s_Category{<br />&nbsp; &nbsp; width:180px;<br />&nbsp; &nbsp; color:#777;<br />&nbsp; &nbsp; font:9pt tahoma;<br />}</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (jparker)]]></author>
			<pubDate>Thu, 04 Jan 2007 09:09:16 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14744#p14744</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 카테고리를 드랍다운 메뉴로 만들기 질문]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14713#p14713</link>
			<description><![CDATA[<p>네 맞습니다. 무슨 생각으로 jsp 라고 했는지 저도 모르겠군요. ㅡ.ㅡ;<br />여튼.. 티스토리를 사용하다보니 플러그인을 추가 사용할 수가 없어 자바스크립트를 이용하려고 하는 지라..<br />플러그인을 만들어주셔도 orz</p>]]></description>
			<author><![CDATA[null@example.com (Mr.Dust)]]></author>
			<pubDate>Thu, 04 Jan 2007 01:49:20 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14713#p14713</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 카테고리를 드랍다운 메뉴로 만들기 질문]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14711#p14711</link>
			<description><![CDATA[<p>문맥상으로 봐서 jsp가 아니라 javascript를 말씀하시는거 같은데 맞는지요?(jsp와 javascript는 전혀 다릅니다.; )</p><p>뭐 어쨌거나; 당연히 안될 이유는 없습니다.</p><p>아래에 다른 분이 플러그인을 뚝딱 만들어서 올려주실겁니다.(...)</p>]]></description>
			<author><![CDATA[null@example.com (Peris)]]></author>
			<pubDate>Thu, 04 Jan 2007 00:41:15 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14711#p14711</guid>
		</item>
		<item>
			<title><![CDATA[카테고리를 드랍다운 메뉴로 만들기 질문]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14690#p14690</link>
			<description><![CDATA[<p>안녕하세요.<br />우선 php 든 jsp 든 전혀 모릅니다. -_-;</p><p>목적 : 카테고리를 드랍다운 메뉴로 만들기</p><p>해본 것?<br />1. 스킨 들여다보기 (사용중인 스킨 : <a href="http://fotowall.net/14)">http://fotowall.net/14)</a><br />2. 스킨 내 드랍다운 메뉴용 jsp 들여다보기<br />==&gt; [##_category_##] 나 [##_category_list_##] 의 경우 단 하나의 치환자에 모든 내용이 가공되어 나오기 때문에 jsp 만으로 정보를 받아 가공하기 어렵다.</p><p>3. 도아님의 수평 카테고리 플러그인 들여다보기 (<a href="http://offree.net/467">http://offree.net/467</a>)<br />4. 태터툴스 1.1.0.2 내 카테고리 관련 함수 들여다보기 (getCategoriesView)<br />==&gt; 1,2번 문제 때문인지 도아님도 직접 mysql 에 접속하는 방식을 택한 듯 하다.</p><br /><p>결론 : 머리아프다. @.@<br />우선 php 나 jsp 에 대한 지식이 없어서 그런지 전혀 감이 안오네요.<br />그런다할지라도 기본적으로 sql 에서 정보를 받아 가공하는 부분이 있을 것이고, 그 부분(아마도 getCategoriesView)을 jsp 를 이용해 가로채거나 재현해서 제가 원하는 형태로 가공을 할 수도 있을 듯 한데.. (그도 안되면 무식하지만 [##_category_list_##] 값을 그대로 받아 html 소스를 날리고 재가공하는 방법도 있을 듯.. 쿨럭 ;;)</p><p>하고는 싶은데 이것때문에 php 나 jsp 를 배우자니 절대 안될 것 같고.. ㅡ.ㅡ;<br />그래서 여쭤봅니다. 가능은 한건지.. 영 불가한건지..</p><br /><p>우선 스킨에서 사용하는 소스는 다음과 같습니다. (아카이브의 경우)</p><br /><p><strong>skin.html</strong><br /></p><div class="codebox"><pre><code>&lt;div class=&quot;archive_window&quot; id=&quot;archive_window&quot;&gt;
    &lt;script&gt;
        &lt;s_archive_rep&gt;
                                    write_convertArchive(&quot;[##_archive_rep_link_##]&quot;,&quot;[##_archive_rep_date_##]&quot;,&quot;[##_archive_rep_count_##]&quot;);
        &lt;/s_archive_rep&gt;
    &lt;/script&gt;
&lt;/div&gt;    
&lt;div class=&quot;archive&quot; id=&quot;archive&quot;&gt;
    &lt;div class=&quot;archive_button&quot;&gt;&lt;img src=&quot;./images/archive_button.gif&quot; border=&quot;0&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;clear: both;&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;                        

    &lt;script type=&quot;text/javascript&quot;&gt;
        at_attach(&quot;archive&quot;, &quot;archive_window&quot;, &quot;click&quot;, &quot;y&quot;, &quot;pointer&quot;);
    &lt;/script&gt;</code></pre></div><p><strong>fotowall.js</strong><br /></p><div class="codebox"><pre><code>function write_convertArchive(link,date,cnt)
{
    var aa = date.split(&quot;/&quot;);
    var hdate = aa[0] + &quot;년 &quot; + aa[1] + &quot;월&quot;;
    document.write(    &quot;&lt;div class=&#039;archive_window_data&#039;&gt;&lt;a href=&#039;&quot;+link+&quot;&#039;&gt;&quot;+ hdate +&quot; (&quot;+ cnt + &quot;)&lt;/a&gt;&lt;/div&gt;&quot; );
}</code></pre></div><p><strong>dropdown.js</strong><br /></p><div class="codebox"><pre><code>function at_attach(parent, child, showtype, position, cursor)
{
  p = document.getElementById(parent);
  c = document.getElementById(child);

  p[&quot;at_parent&quot;]     = p.id;
  c[&quot;at_parent&quot;]     = p.id;
  p[&quot;at_child&quot;]      = c.id;
  c[&quot;at_child&quot;]      = c.id;
  p[&quot;at_position&quot;]   = position;
  c[&quot;at_position&quot;]   = position;

  c.style.position   = &quot;absolute&quot;;
  c.style.visibility = &quot;hidden&quot;;

  if (cursor != undefined) p.style.cursor = cursor;

  switch (showtype)
  {
    case &quot;click&quot;:
      p.onclick     = at_click;
      p.onmouseout  = at_hide;
      c.onmouseover = at_show;
      c.onmouseout  = at_hide;
      break;
    case &quot;hover&quot;:
      p.onmouseover = at_show;
      p.onmouseout  = at_hide;
      c.onmouseover = at_show;
      c.onmouseout  = at_hide;
      break;
  }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Mr.Dust)]]></author>
			<pubDate>Wed, 03 Jan 2007 13:07:37 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14690#p14690</guid>
		</item>
	</channel>
</rss>
