2010年11月26日 星期五

CCK型態

從頭開始試真的是件痛苦的事@@
首先新增一個內容類型
然後開始新增fields(欄位)
麻煩的是fields的TYPE有6個:
Float – 浮點數
Integer – 整數
Decimal – 實數
Text – 文字
Node Reference – 節點參照
User Reference – 使用者參照

再來就是一個一個設來測試囉
把測試的重點記一下…
Float:
check boxes/redio buttons
Number of values: 2
Allowed values list:
1.222
3.4
5.6666
Integer:
check boxes/redio buttons
Number of values: 1
Allowed values list:
123,456
789
Decimal:
Select list(下拉式選單欄位)
Allowed values list:
aaa,bbb
ccc
Text:
text feild
Node Reference:
Select list(下拉式選單欄位)
Number of values: 5
User Reference:
Autocomplete text filed(會自動拼出符合的字串的文字欄位)

水滴關鍵說明

  • ontent type: 就是一種文件的形式、內容。譬如說,卡片的格式和書信的格式不同,公文的格式跟相片集的格式不同。
  • node: 就是每一個單一的文件,在drupal被視為節點,每一個單一文件是依據不同的形式發表出來。
  • taxonomy terms: 就是為該文件標注分類,跟文件的「形式」不同。分類的重要任務,是為了將不同形式的文件串連在一起整合運用,或對文件做歸檔整理以供日後用途,並且可以定義樹狀結構表現出不同類別的父子關係。他的範疇可能包含每一個node(如tag),也可能是針對某幾種文件的形式來做分類。如公文裡頭可以分成不同年度,書信可以分成札記和散文,相片文件可以分成不同的相簿...等。
  • views: views如名,就是專門管理呈現的部份。因為一個站可能有上萬個nodes,views可以用各種交叉條件篩選出畫面中想呈現的nodes(通常是文件)。可能是不同分類(taxonomy)不同文章形式(content type)還是不同的欄位(年度)的交集。views也提供呈現的方式的設定,如地圖的方式、表格的方式、摘要文的方式、全文的方式、清單的方式...等。

參考:

content-type決定content-template 資料形式決定資料樣板

drupal 中 node是用來記錄資料的一個單位
會依content-type決定content-template

假設comment-book.tpl.php樣板存在,所訪問
的note-type是book時,drupal會使用comment-book.tpl.php
而不是預設的comment.tpl.php




http://www.joetsuihk.com/define-comment-template

2010年11月13日 星期六

Blog的按月歸檔

第一種

$allvaliddates=$blog->getarraybyquery("SELECT `pubtime` FROM `{$db_prefix}blogs` ORDER BY `pubtime` DESC");
$allvaliddates=$allvaliddates['pubtime'];
$resultdates=array();
$result="";
if (is_array($allvaliddates)) {
foreach ($allvaliddates as $time) {
$y=gmdate('Y', $time+3600*$config['timezone']);
$m=gmdate('n', $time+3600*$config['timezone']);
$resultdates[$y][$m]+=1;
}

第二種

$archives = $DMC->query("SELECT postTime FROM ".$DBPrefix."logs where $saveType ORDER BY postTime DESC");
$articledb = array();
while ($article = $DMC->fetchArray($archives)) {
$article['dateline'] = format_time("Y,m",$article['postTime']);
$articledb[]=$article['dateline'];
}
unset($article);
$archivedb = array_count_values($articledb);
unset($articledb);

2010年11月1日 星期一

include 和 require

  • 引用方式的不同
    require 的使用方法通常使用在PHP程式的前頭,在執行前會將因入的檔案展開至原本的程式,實際上文件的內容是去替換該語句。

    include 通常放在流程控制中,在讀到那一行時才去讀取該文件內容。


  • 警告方式的不同

    include()會產生一個警告,而require()則導致一個致命的錯誤(出現錯誤,腳本停止執行)

    require() :如果文件不存在,會報出一個fatal error.腳本停止執行