如何從php代碼發佈節點?試過簡單的查詢db_query("UPDATE {node} SET status = 1 WHERE nid = %d", $nid);
但它不起作用。 我的場景:默認情況下節點未發佈。我正在改變編輯節點的形式來添加文本字段。如果用戶輸入正確的代碼節點成爲發佈。因此,我在form_alter中添加了另一個提交函數,並在該函數中檢查了代碼,以及是否正確嘗試將節點狀態更新爲已發佈。Drupal 6,如何從代碼發佈節點
0
A
回答
0
0
檢查您的自定義模塊/主題是否啓用。
我也會嘗試通過Drupal界面創建一個節點(使其未發佈)。然後在您的自定義模塊中運行,看看它是否有效。
1
最好不要直接對數據庫模式進行編碼,因爲寫入查詢會引入冗餘。您應該始終使用節點API。
執行節點保存時,Drupal會調用節點api。這使應用程序中的所有其他模塊有機會以任何他們希望的方式修改節點。所以,你的代碼可能正常工作,而不是你所期望的。例如,另一個模塊可以在設置節點狀態後重新寫入您的值。
這可能有點難以調試。你可以嘗試改變你的代碼運行的模塊的權重,以便在其他任何事情之後被調用。這是您可以直接修改數據庫模式的少數例外之一(有一個模塊可以在UI中公開模塊權重,但這是一個可怕的想法)。我不特別喜歡依靠模塊權重來獲得代碼的工作。你可能最終會遇到競爭狀況,但這至少會把這看作是原因。
參見:
http://api.drupal.org/api/drupal/modules--node--node.module/function/node_save/6
4
<?php
// load the node object
$node = node_load($nid);
// set status property to 1
$node->status = 1;
// re-save the node
node_save($node);
?>
而且,我看到了你的使用$形式的評論[ 'NID'] [ '#值'。你確定該變量保存節點ID值嗎?通常你會在表單的提交處理程序上執行代碼,這意味着你將使用類似於:$ form_state ['values'] ['nid']來獲取$ form ['nid']元素的值。
例子:
<?php
function mymodule_myform() {
$form = array();
$form['nid'] = array(
'#type' => 'textfield',
'#title' => 'Node ID to Publish'
);
$form['submit'] = array('#type' => 'submit', '#value' => 'Submit');
}
function mymodule_myform_submit($form, &$form_state) {
$node = node_load($form_state['values']['nid']);
if ($node) {
$node->status = 1;
node_save($node);
}
}
相關問題
- 1. 如何額外過濾Drupal 6中發佈的節點列表
- 2. Drupal 6:如何顯示節點?
- 3. 如何在Drupal 6中以編程方式取消發佈節點?
- 4. Drupal 6:如何在創建特定節點類型時執行php代碼
- 5. Drupal 7如何觸發/掛鉤節點「發佈」事件?
- 6. drupal視圖節點發布字段
- 7. 如何在drupal中索引未發佈的節點apache solr
- 8. Drupal 6中的主節點鏈接
- 9. Drupal 6 - change一個節點的作者
- 10. Drupal 6-節點的父項術語ID
- 11. drupal 6和視圖節點形式
- 12. drupal 6查看:'兄弟'節點參考
- 13. Drupal 6:排序顯示節點引用
- 14. Drupal 6預處理塊和節點
- 15. Drupal中的主體節點體6
- 16. 用Drupal 6顯示節點內的節點
- 17. Drupal 6模塊開發 - 多節點類型,權限和訪問
- 18. Drupal從節點刪除節點引用
- 19. 如何在Drupal 6的視圖中顯示完整節點?
- 20. 如何自定義Drupal 6中節點內容的輸出?
- 21. Drupal 6 - 如何禁用所有節點/ content_types上的註釋?
- 22. 如何刪除drupal中的節點引用類型6
- 23. 如何替換Drupal 6中的「節點視圖」屏幕?
- 24. Drupal的6次 - 如何排序上的評論#一個節點
- 25. Drupal 6 - Views2 - 如何構建非節點視圖
- 26. 如何控制在Drupal 6.X節點/內容的訪問?
- 27. 如何在Drupal 6的主頁上嵌入節點?
- 28. Drupal 7如何在節點
- 29. 在drupal 7中,如何從節點標題獲取節點ID?
- 30. 將參數從preprocess_page傳遞到塊和節點 - drupal 6
你可能會顯示更多您所使用的代碼?你是否在Drupal 6或7的表單提交處理程序中執行代碼? – kiamlaluno