September 4, 2007

本文標籤

今天正當準備下班之時,亂晃又晃到neo原作者的blog上去。一番亂點亂看之際,點入了原作者的neo demo blog。忽然大驚,原來原作的demo上面就有"本文標籤"的功能了。這下怎能放著不把他改過來呢!

首先下載了該demo blog的js比對負責post新文章的functionfunction updatePost(index) 發現裡面跟我手上的版本略有不同。由於那個code裡面有html tag,要貼上來太麻煩了,急的人就先自己比對吧。


step 1

把line113var tagsdiv = document.getElementById("PostTags");
line120~126
這些加到自己的js裡面的相對位置。

step 2

在檔案開頭的全域變數的地方有var postCategory = new Array();
var postNumCategories = new Array();

加到自己的js裡面。

step 3

在line80postCategory[i] = new Array();
if (entry.category) {
  postNumCategories[i] = entry.category.length;
  for (var k = 0; k < entry.category.length; k++) {
    postCategory[i][k] = entry.category[k].term;
    }
  }
else
  postNumCategories[i] = 0;

貼到自己的code的function updateLabelPosts(json)這裡面的相對位置。

這樣都做完以後,如果還是不行,表示你跟我一樣在template裡面沒有一個div叫做PostTags

解決方法有二。

其一,請自行參考neo demo的template做一個出來。或者你也可以像我一樣,先把div塞進本文內容的最後面。這樣會稍微醜一點,不過今天我也累了。那個post的footer改天再說吧。

作法如下,將剛剛貼過來的var tagsdiv = document.getElementById("PostTags");

tagsdiv.innerHTML = disp;註解掉。
然後將前面的contentdiv.innerHTML = ....+disp;加上後面的+disp以後,挪到註解掉的//tagsdiv.innerHTML = disp;的後面。
這樣就可以把label那段,塞到content後面了。

呼~這樣搞了兩三個小時。應該是ok了啦。

改天再來改template把"本文標籤"跟"本文連結"放到footer裡面吧。

還有,得想辦法讓他可以正常的show一下code,不然這樣寫文章好累阿阿阿阿。

收工下班~

2:00am 後記

結果回家洗好澡又繼續搞到兩點。

事實證明前面寫的是正確的(如果有PostTags就不需要把他塞到content裡面),因為我已經把footer找出來,把"本文連結"跟"本文標籤"都弄進去了。順便改了改CSS,看起來頗順眼。不過一開始load本文連結不會出來,不太想理他了。

另外由於一邊改一邊越來越了解template與neo.js之間的關係,於是我把neo.js裡面產生本文連結的code也順手改了一下。讓他不會跟post的文章擠在一起,這樣才不會出現排版不正常的狀況。

anyway, 果然是強迫症阿。趕快關機睡覺吧。

10 Comments:

好倫 said...

GJ~

Unknown said...

Enjoy ^-^

好倫 said...

>_<

看不懂

什麼全域變數啊...

http://neotemplate.googlecode.com/files/myneochinese4.js

幫我用(厚臉皮)

謝謝(厚臉皮)

Unknown said...

全域變數是指"不是宣告在function裡面的變數"。這邊我是指在neo.js裡面,檔案一開頭有一大堆var的那些東西,把他擺在一起就可以了。btw,我幫你改在這裡一樣沒有測過,你試試看吧。
這檔案我只改到step3,如果不work你要先檢查看看你的template裡面有沒有一個 id='PostTags'的地方。
Good Luck~

BBoy Yentz 燕子 said...

對應到template的footer裡的程式碼可以列出來嗎?
用neo demo我對照不出來>"<

結果變這樣
http://bboy.tw

Unknown said...

template裡面加一個 span class='post-labels' id='PostTags' (前後括號自己加喔),span裡面再包show label的code,你這邊應該就是放到跟本文連結同一塊裡面就可以了吧。試試看。

BBoy Yentz 燕子 said...

我的本文label一進去時有出來
但是連結一直弄不好
show label的code
a href="這裡要打什麼"

Unknown said...

那個...如果是js裡面的話,改法就如文章內容寫的那樣唷。
template的a裡面是這樣a expr:onclick='"javascript:fetchPosts(\"" + data:label.name + "\")"' href='javascript:void(0);'
前後的括號自己加上去厚。

BBoy Yentz 燕子 said...

解決我的問題了
感謝您

Unknown said...

恭喜 :) 能幫上忙真是太好了。