2011-02-16 42 views
1

我的情況是我想限制用戶訪問某個CCK字段。用戶購買後(Ubercart),他們將通過電子郵件發送特殊鏈接,他們可以訪問該字段。此鏈接將在一段時間後過期,但他們需要在鏈接處於活動狀態時訪問該特定字段。只有在訪問特定網址(權限)時才顯示CCK字段

基本上發生的事情是,當使用它的標準路徑(節點/ 14)訪問節點時,他們將無法訪問該字段。如果他們通過其他路徑訪問它(可用/對/限制/時間/ u9xYs4),他們可以訪問該字段。

我很難過如何做到這一點。

編輯1:
我破解我想出的作品是以下。

global $user; 
$user1 = user_load(array('uid'=>1)); 
$prevUser = $user; 
$user = $user1; 

$view = views_get_view('greeting_listen'); 
$rendered = $view->preview('default', array($nid)); 

$user = $prevUser; 

我知道這是醜陋的,但它的工作原理。我也擔心可能會有一些重大的安全問題。有沒有人對我有任何想法?

回答

0

取決於你如何創建和到期的鏈接,但...

我將包括到期時間CCK場,從節點模板中刪除祕密領域,並創建顯示視圖祕密字段,並根據到期時間進行過濾或以其他方式更改。

+0

此解決方案不會解決其他用戶訪問節點的問題;不知道這是否是一個問題。 – yitznewton

相關問題