您在這裡

如何結合Profile與Template,及CCK的小問題

saa's 的頭像
saa 在 2010-02-10 (三) 09:55 發表

大家好!

最近嘗試用Drupal製作專題討論的資料庫,遇上一些小問題,我查過一些資料,可能是關鍵字用得不對,沒有發現我要的答案,因此決定來這邊求教,以下是遭遇的問題:

1.我用Profile模組新增了「姓名」、「綽號」等使用者欄位(圖一),並希望能夠讓「姓名」顯示在發布的頁面中(圖二)。但是Template模組裡面沒有「姓名」的變數可以抓取,只有預設的帳號等...,是否要使用其他模組來達成呢?

2.(上圖二)下方我利用CCK增加一個「參考文獻」的textarea,但是裡面的文字卻無法自動換行。是否有辦法改用(下圖三,這是一張假想圖@@)中的模式,一條一條新增參考文獻呢?若改用這種方法,應該能設定幫參考文獻標上項目1、2、3...等,是否有模組可以達成,或者其實目前的模組便能辦到呢?

以上是我的問題,感謝各位的閱讀,希望描述夠清楚,大家不會看得霧煞煞@@"

附加檔案大小
Image icon drupal_question_1.jpg21.17 KB
Image icon drupal_question_2.jpg68.12 KB
Image icon drupal_question_3.jpg58.79 KB

1.
$node 沒有包含使用者資料,你要額外讀取。比如:


$name = user_load (array('uid' => $node->uid));
echo $name->profile_test;

2.
CCK 設定中,不用 Text processing: Plain text 就可以

如果你要一項項輸入,Number of values: Unlimited 就可以

至於 #1, #2, #3 要自己修改版型,將原本的 DIV 變為 LI 不就行了 ^_^

CCK theme => CCK folder /..../content-field.tpl

---
notaBlueScreen | 訂閱RSS | Plurk

我完成了^^

  
 
以下紀錄方法:

1.欲將自訂的個人資料放入發布內容中
Template模組:管理→內容管理→內容類型→Content Templates→edit template

報 告 人:
<?php
$name = user_load (array('uid' => $node->uid));
echo $name->profile_name;
?>

profile_name是我自訂的「姓名」欄位名稱
整句翻譯:抓取根據使用者ID抓出使用者姓名,並顯示之

完成圖:

 
  
 
2.能夠輸入多筆參考文獻,並給予項目編號
管理→內容管理→內容類型→列表→manage fields

完成圖:

 
 
 
接著修改Template,加入下段PHP碼,便能在發布內容中依序列出參考文獻:
參考文獻:

    <?php
    for($r=0 ; $rfield_reference) ; $r++)
    echo "
  1. " .$node->field_reference[$r]['view']."
  2. ";
    ?>

< ol >< /ol >為HTML的項目編號標籤
field_reference是我自訂「參考文獻」欄位的名稱
count($node->field_reference)即取得參考文獻的筆數
整段翻譯:將參考文獻依序列出,以< ol >進行編號

完成圖:

 
  
 
 
感謝 Kay.L 的指點,這樣整個資料庫就完成啦^O^

您好:

  抱歉一直沒有上來看,您說的那一段我是採用CSS的margin控制它靠右,源碼如下


報 告 人:
<?php
$name = user_load (array('uid' => $node->uid));
echo $name->profile_name;
?>
學  號:<?php echo $node->name ?>
報告日期:<?php print $node->field_date[0]['view'] ?>
指導老師:<?php print $node->field_teacher[0]['view'] ?>

本來嘗試用< p style="text-align:right;">以及< div style="text-align:right;">,但是怎麼弄都不肯給我靠右邊...

最後索性改用margin,設定與左邊的間距75%,便能將文字擠到右邊,營造出靠右的效果。因為使用百分比,所以頁面無論如何縮放文字都會保持在右邊~!

另外之前也有看過從風格的設定檔案修改CSS的方法,但是個人希望無論換甚麼風格,文獻格式都不改變,所以直接把CSS寫在Templete的裡面囉!

以上希望有回答到^^"