我有一個名爲'logos'的內容類型,所有這些都在一個網格視圖中並作爲一個塊輸出。drupal 7 - 限制acces到完整節點
我不希望用戶查看完整的節點,只有視圖。我嘗試過content_access模塊,但我的網格視圖也消失了,有沒有辦法限制對特定內容類型的完整節點的訪問?
我有一個名爲'logos'的內容類型,所有這些都在一個網格視圖中並作爲一個塊輸出。drupal 7 - 限制acces到完整節點
我不希望用戶查看完整的節點,只有視圖。我嘗試過content_access模塊,但我的網格視圖也消失了,有沒有辦法限制對特定內容類型的完整節點的訪問?
另一種選擇是不發佈節點按照https://drupal.stackexchange.com/questions/11026/how-to-restrict-direct-access-to-the-nodes-in-drupal-7
我測試和視圖仍然可以顯示數據。您可能需要調整樣式,儘管默認情況下,Drupal會爲未發佈的節點添加一個突出顯示以區分它是否未發佈。
這是很好的知道,我認爲未發佈的節點將不可用的意見。我想我可以找到添加類的鉤子,並添加一些基於內容類型的邏輯來刪除改變樣式或做css修復的類。謝謝 – LeBlaireau 2012-08-16 12:57:53
@welovedesign - 或者不去掉這個類,你可以覆蓋這個類的CSS,使它不顯示任何不同:) – nmc 2012-08-16 12:59:01
我只是做了再加工中的頁面功能髒修復
if ($variables['node']->type == "logos") {
drupal_goto('404');
}
必須有一個更好的辦法。另外谷歌忽略節點呢?
你能澄清一下嗎?您正在顯示塊視圖。那麼爲什麼你不把視圖限制在你想要顯示的字段而不是顯示節點?
您還可以使用字段權限(或CCK的權限,我忘了確切的名字),所以指定每個字段權限。
「那你爲什麼不限制視圖到你想要顯示的字段而不是顯示節點?「 - 這是怎麼回事?我在視圖中嘗試了權限設置。 – LeBlaireau 2012-07-27 10:08:18
看一看https://www.drupal.org/project/restrict_node_page_view,這是相當簡單:
/**
* Implements hook_node_access().
*/
function MYMODULE_node_access($node, $op, $account) {
// Default checks
if (!is_object($node)) {
return NODE_ACCESS_IGNORE;
}
$type = is_string($node) ? $node : $node->type;
if($op == 'view' && arg(0) == 'node' && arg(1) === $node->nid) {
// Restrict access to full MYTYPE node for anon users
if ($type == 'MYTYPE' && user_is_anonymous()) {
return NODE_ACCESS_DENY;
}
}
// Default
return NODE_ACCESS_IGNORE;
}
嘗試[高級內容模塊(http://drupal.org/project/premium_content) – avadhutp 2012-07-25 14:10:53