我的要求是限制某個特定國家(例如:奧地利)IP的內容元素。這意味着訪問奧地利知識產權網站的用戶應該可以看到內容元素,對於所有其他用戶來說,它應該是隱藏的。我正在使用geoip解決方案來檢查國家/地區。我寫了一個用戶函數來實現這個功能。我寫了一個小擴展名,並根據國家設置了隱藏標誌1和0。但是由於TYPO3緩存,我想每次清除緩存以反映前端的變化。我將擴展名包含爲USER_INT,並且擴展名是不可緩存的。但不幸的是不工作。功能性工作,但由於緩存更改不實時反映。限制TYPO3中IP的內容元素
$uid = 175; // uid of the content element needs to be hidden
$geoplugin = new \geoPlugin();
$geoplugin->locate();
$countryCode = $geoplugin->countryCode;
if($countryCode == 'AT'){
$GLOBALS['TYPO3_DB']->exec_UPDATEquery('tt_content', 'uid IN ('.$uid.')', array('hidden' => 0));
}else{
$GLOBALS['TYPO3_DB']->exec_UPDATEquery('tt_content', 'uid IN ('.$uid.')', array('hidden' => 1));
}
TYPO3中是否有方法限制特定IP /國家的內容元素?或者你們可以建議一個解決方案來解決這個問題嗎?
我的方法是創建我自己的未緩存的插件。在這個插件中,用戶可以選擇要顯示的內容元素,以及內容應該可見/不可見的區域。然後,該插件僅呈現內容元素,或者不顯示,具體取決於遠程用戶IP。 – Jost
你能想象通過ajax實現這樣的過濾內容嗎?然後,你會避免與緩存機制 – jokumer