Random Entries

에서 랜덤엔트리를 보여주는 팁입니다. php를 이용한 것이기 때문에 글 목록을 뽑아 낼 수 있는 블로그툴이라면 어디서나 적용가능하리라 봅니다.

무버블타입에는 원래 MTRandomEntries 이 있습니다만, 인덱스 페이지가 리빌드 되야지만, 랜덤이 동작을 합니다. 말하자면 새 글을 올렸거나 누군가 코멘트를 남겼거나 트랙백을 받았을 때만 랜덤하니 이곳처럼 세 가지가 거의 일어나지 않는 곳에서는 무용지물인 플러그인입니다. 그 와중에 작은 변화마저 줄 수가 없으니 서버마저 심심해 할 겁니다.

새로 고침만을 눌러도 동작하는 것은 없냐고 구글에 애걸했더니, Random Entries Using PHP를 찾아 주더군요. 감탄입니다. 새로 고침만 눌러도 랜덤하게 글이 표현이 됩니다. 접속할 때마다 다른 글을 보여준다니 놀랍잖아요? 꽤나 기특해하며 본문을 읽기 시작했는데, 갑자기 저와 너무나 먼 딴 세상 얘기 같습니다. 이걸 어떻게 하라는 말인지.

곰곰이 생각해보니, 조기처럼 굳이 본문 전체를 보여줄 필요는 없을 것 같고, 그냥 제목만 뽑아내는 게 좋겠다 싶더군요. 조것도 당연히 가능한데 상당히 번거롭단 얘기입니다.구글은 더 이상 뱉어내는 게 없고 야후를 달달 볶았더니 PHPを用いたエントリー・ランダムピックアップ Ver 1.00를 떡 하니 뿌려줍니다. 엄청나게 훌륭한(?) php소스의 등장입니다. 요것을 그대로 가져 왔습니다. ;;;;

씹떡껍떡한 소릴랑은 말고 본론으로 들어갑니다.

1. Index Templates에 Random Entries 라는 템플릿을 만들고 파일명은 randomentries.html로 합니다. (동적 퍼블리슁을 이용하는 분은 randomentries.php로 만듭니다.)

그 안에 아래 부분을 넣어 줍니다.

<MTEntries>
<a href="<$MTEntryPermalink$>" ><$MTEntryTitle$></a>
</MTEntries>

 Rebuild this with index templates를 체크 하고 save 그리고 rebuild 합니다.
체크하게 되면 새로운 글을 썼을 경우 이 파일이 리빌드되면서 새로 쓴 글이 자동적으로 전체 글 목록에 포함 됩니다.

www.yourblog.com/randomentries.html 이 만들어 졌습니다. 경로는 당연히 어디다 만드느냐에 따라 틀려질 테고, 이 파일의 용도는 뻔뻔하게 엔트리의 제목과 링크만을 뽑아내는 것입니다. 경우에 따라서 특정 카테고리만 나타나게 한다든지, 같은 몇몇 속성을 넣을 수 있겠죠.

2. 역시 Index Templates에 Random Pick up 이라는 템플릿을 만들고 파일명은
randompickup.html로 합니다. (randompickup.php로 해도 됩니다.)

<?php $entries = file("/home/hosting_users/xxxxx/www/randomentries.html"); $cnt = count($entries) -1; srand( (double)microtime()*1000000 );
echo "<div class=\"pickup\">\n";
echo "<ul>\n";
for ( $i = 0; $i < 3; $i++) {       // 3은 보여줄 글 목록 개수입니다.
$num=round( rand(0,$cnt) );
echo "<li>" . $entries[$num] . "</li>\n";
}
echo "</ul>\n";
echo "</div>";
?>

이것을 복사해 넣고 맨 첫줄의 파일경로를 각자의 randomentries.html이 있는 곳으로 설정합니다. 위처럼 절대 경로를 써넣어도 되고, 만약 randomentries.htmlrandompickup.html이 같은 경로에 있으면 경로를 삭제하고 파일이름만 넣어도 됩니다.

/home/hosting_users/xxxxx/www/randomentries.html 대신에 randomentries.html만 해도 된다는 뜻입니다.

Rebuild this with index templates 체크를 해도 되고, 안 해도 되고 save 그리고 rebuild 합니다.

randompickup.html 파일이 만들어 졌습니다.

3. 랜덤한 글 목록을 보여 줄 곳에

<? include ("/home/hosting_users/xxxxxx/www/randompickup.html"); ?>

이 부분을 넣어 줍니다. 혹은

<MTInclude file="randompickup.html">

이렇게 대신 해도 됩니다.

4. css에 <div class="pickup">부분을 만들어 줍니다.

제 경우는

.pickup {
margin-left: -10px;
margin-top:-3px;
}

.pickup ul {
list-style-image: url(/img/new_random.gif); /*글 목록 앞에 나올 아이콘 이미지 경로, 당연히 수정해야겠죠? */
margin-top:5px;
padding-top:0px;
padding-bottom:0px;
line-height:1.4em;
}

어라, 벌써 끝이네요.
이제 마음껏 새로 고침을 누르면서 감탄하시면 됩니다.

Related photo:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Attach a file Uploading File types: jpg, png, gif, zip, Max size: 1Mbytes, Max count: 3