Subscribe EddyT-Web

clixsense.com




2007年10月1日 星期一

版面配置的網頁元素標記

版面配置的網頁元素標記中有關建立小裝置的 <b:widget> 標記之說明。 如果您只想透過 [網頁元素] 標籤來使用所有功能,那麼你只需要知道上述這一點。 不過,如果您想要更進一步的控制權,此文章說明如果您使用 [編輯 HTML] 網頁的 [展開小裝置範本] 模式,可以在小裝置中放入哪些標記。
您所要做的第一件事就是加入結束標記。 使得:
<b:widget [...attributes...] />

變成:
<b:widget [...屬性...]>
</b:widget>

現在,我們來談談您可以在這些標記之間放入什麼。

Include


小裝置的內容包含在 [可納入項目] 區段中,此區段的格式如下:
<b:includable id='main' var='thiswidget'>
[在此插入您想要的內容]
</b:includable>

屬性如下:

  • id: (必要) 獨一無二且由字母和數字組成的識別碼。

  • var: (選用) 字母和數字組成的識別碼,用來參照此區段中的資料 (請參閱以下的資料區段)。


每一個小裝置必須包含一個擁有 id='main' 的可納入項目。 這樣通常可包含此小工具可顯示的最多或所有內容,而這些內容大多是您所需要的。
如果您讓更多可納入項目使用不同的 ID,則系統無法自動顯示這些 includable。 不過,如果您讓一個可納入項目擁有 id='new',那麼您可以使用 <b:include name='new' /> 在主要可納入項目中參照該可納入項目,而該可納入項目也會如此顯示。
b:include 標記的屬性如下:

  • name: (必要) 獨一無二且由字母和數字組成的識別碼。 必須符合相同的小裝置中現有 b:includable 的 ID。

  • data: (選用) 傳送至 [可納入項目] 區段的運算式或資料片段。 此屬性會成為可納入項目中 var 屬性的值。


以下為使用 b:includableb:include 的簡單範例。 本文稍後將說明迴圈 (loops) 和資料 (data)。 此處要了解的主要事項是 [主要] 區段如何納入 [張貼] 區段。 它會傳送叫用 "i" 的文章,而包括的區段則將該文章參照為其變數 "p",然後列出標題。
<b:includable id='main'>
<b:loop var='i' values='posts'>
<b:include name='post' data='i'/>
</b:loop>
</b:includable>

<b:includable id='post' var='p'>
Title: <data:p.title/>
</b:includable>

如果您想要在不同地方重複使用一個程式碼區段,則 Include 是最實用的屬性。 您只需要撰寫程式碼一次,將其放在 b:includable 中,然後在您希望該程式碼出現時使用 b:include 即可。 如果您不需這麼做,那麼你可以只使用主要的可納入項目而忽略其他部分。 (請注意,主要的可納入項目會自動納入,不需要 <b:include name='main'/>。)

Data


data: 標記是最重要的屬性之一,因為它是帶入您所有實際內容的方法。 此標記的範例如下:

<data:title/>
or
<data:photo.url/>
第一個範例最簡單,且適用於大多數的小裝置,因為大多數小裝置都有標題。 此屬性只要列出小裝置的標題即可。 第二個範例顯示較複雜的變數,我們在該變數中選取了特定的元件。 例如,在個人資料小裝置的內容中,photo 可能會有 urlheightwidth 等元件。 使用 "." 記號表示我們想要此相片的 URL,而不是要其他內容的 URL。
您可以透過 data: 標記屬性取得許多資料,且該標記會因您所使用的小裝置而異。 我們整理了一份完整清單,協助您找到您需要的資料。

Loops


b:loop 標記可讓您多次重複一個內容區段。 此標記最常用來將每個文章、意見或標籤等列在特定網頁的文章清單中。使用迴圈(loops)的一般格式如下:
<b:loop var='identifier' values='set-of-data'>
[在此放入要重複的內容]
</b:loop>

「識別碼」部分可以是您選擇的任何名稱,且將用來代表清單中每次通過迴圈的每個新項目。 常見的做法是直接叫用此 "i"。 您為變數指定的資料組可以是資料標記文章項目清單中說明的任何資料。 例如,在 blog 文章小裝置中,posts就是一個清單。 諸如以下程式碼會迴圈每個文章,並列出每個文章的標題,以及括住標題的標題標記。
<b:loop var='i' values='data:posts'>
<h2><data:i.title/></h2>
</b:loop>

請注意 "i" 如何依次取得每個文章中的值,使您能從每個文章中取得標題。

If / Else


您可以使用 b:ifb:else 標記在某些特定的地方顯示內容。 一般格式如下:
<b:if cond='condition'>
[條件為 true 時要顯示的內容]
<b:else/>
[條件為 false 時要顯示的內容]
</b:if>

b:else 標記是選用的。 沒有此標記,結果若非列在 b:if 區段的內容,則什麼也不是。 不過,無論在何種情況下都需要結束的 </b:if>
您可在「條件」中放入任何可為 true 或 false 的內容。 某些資料標記本身就是 true/false 值,例如文章中的 allowComments。 有了其他資料,您可以使用特定的值來加以比較,並取得 true 或 false。 下面是幾個範例:

  • <b:if cond='data:post.showBacklinks'> 如果目前的文章設定為顯示反向連結則為 true。

  • <b:if cond='data:blog.pageType == "item"'> 如果目前的網頁是項目網頁 (文章網頁) 則為 true。

  • <b:if cond='data:displayname != "Fred"'> 如果這不是 Fred 的顯示名稱則為 true。

  • <b:if cond='data:post.numComments > 1'> 如果目前的文章有多個意見則為 true。


沒有留言:

emailcash.com.tw