您在這裡

如何讓node title 在顯示時呈現文字,而不是nid 值

Superman's 的頭像
Superman 在 2011-02-16 (三) 19:00 發表

大家好 :

懇請分憂解勞

我有一個進貨主檔

table格式如下
供應商名稱 (node modul form) ----------------------------------- node title 呈現的欄位
供應商名稱 (field_coupler_supplier_m)
進貨日期(field_coupler_purchased_date_m)

field_couplr_supplir_m 的資料來源如下

$sql = "SELECT nid, title FROM node WHERE type = 'supplier' ORDER BY nid";
$res = db_query($sql);
while($row = db_fetch_array($res)){
$rows[$row['nid']] = $row['title'];
}
return $rows;

主檔資料在存檔時,會把 nid 存在field_coupler_supplir_m

而field_coupler_supplir_m的資料會帶到我的node title中(Automatic Nodetitles 會為我做這件事)

可是我希望我的node title 存放的是供應商的名字, 而不是nid
請問我要如何做,才能做到我要的結果

我有疑問,照你的說法:

主檔資料在存檔時,會把 nid 存在field_coupler_supplir_m

既然 field_coupler_supplir_m 裡面存的是 nid ,
也就是說, Automatic Nodetitles 帶出來的 field_coupler_supplir_m 實際上就是 nid 了

所以, node title 如果要帶出正確的供應商的名字,
那麼,"主檔資料在存檔時,會把 nid 存在field_coupler_supplir_m" 這件事就不能讓他發生?

是不是這樣不確定,也許我理解有誤 ^^;

kurotanshi :

你的理解一點也沒錯,

我是在allowed valuel中, 將資料帶入 field_coupler_supplir_m
我也想過一些方法, 可能可以解決這個問題
1. 不帶入nid, 而帶入title
我改了又改, 系統還是會把nid放進 field_coupler_supplir_m-----------------------(功力太淺吧)
可是這個方法,在日後維護資料上,會有問題,所以存nid還是會比較好

2. 我想只能在php上動手腳, 但不知要從哪個點做切出

如果不改資料存入的方式,而要完成這個進貨功能

可以改奱操作方式
讓主從的關係,在同一個畫面上完成, 這樣對user在操作上,就比較方便了

小弟對drupal瞭解還是很有限, 請大家有錢出錢, 有力出力吧 !!!!
謝謝你們

Automatic Nodetitles 中有一個選項叫做 Evaluate PHP in pattern.

我把它打勾後,

寫一個測試的code
<?php
print "1234";
/>
可以產生1234在node title 中,

請問大家, 如何在add 主檔時
可以捉到存放供應商名稱的變數

我想只要把存放供應商名稱的變數找出來
問題就解決了