내 요구 사항은 특정 국가의 IP (예 : 오스트리아)로 콘텐츠 요소를 제한하는 것입니다. 즉, 오스트리아 IP에서 웹 사이트를 방문하는 사람들은 콘텐츠 요소에 표시되어야하고 다른 모든 사용자에게는 숨겨져 있어야합니다. 나라를 확인하기 위해 지오 솔루션을 사용하고 있습니다. 이 기능을 구현하는 사용자 함수를 작성했습니다. 작은 확장을 작성하고 국가에 따라 숨겨진 플래그 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));
}
특정 IP/국가의 콘텐츠 요소를 제한하기 위해 TYPO3에서 사용할 수있는 방법이 있습니까? 아니면이 문제를 해결할 해결책을 제안 할 수 있습니까?
내 접근 방식은 내 자신의 uncached 플러그인을 만드는 것입니다. 이 플러그인에서 사용자는 표시 할 콘텐츠 요소와 콘텐츠를 표시하거나 표시하지 않을 영역을 선택할 수 있습니다. 그런 다음 플러그인은 원격 사용자 IP에 따라 콘텐츠 요소를 렌더링하거나 아무것도 렌더링하지 않습니다. – Jost
아약스를 통해 필터링 된 콘텐츠를 구현할 수 있습니까? 그렇다면 캐싱 메커니즘 – jokumer