我在 Drupal 站点中有一个 PHP 文本大小选择函数:
它使用这个选择器...:
<ul id="font-sizes">
<li class="one"><a href="<?php global $base_url; print $base_url;?>/sites/all/themes/x/resize.php?set=small">Normal Font-Size</a></li>
<li class="two"><a href="<?php global $base_url; print $base_url;?>/sites/all/themes/x/resize.php?set=medium">Medium Font-Size</a></li>
<li class="three"><a href="<?php global $base_url; print $base_url;?>/sites/all/themes/x/resize.php?set=large">Large Font-Size</a></li>
</ul>
...修改样式表链接...:
<link rel="stylesheet" type="text/css" media="screen" href="<?php global $base_url; print $base_url;?>/sites/all/themes/x/<?php echo isset($_COOKIE['sitestyle'])?$_COOKIE['sitestyle']:'small'; ?>.css" />
... 通过使用此文件 (resize.php):
<?php setcookie ('sitestyle', $_GET['set'], time()+31536000,'/', 'mysite.co.uk', '0'); header("Location: ".$_SERVER['HTTP_REFERER']); ?>
现在,我的问题是它在登录 CMS 时工作正常(作为主要管理员或较低级别的 Angular 色),但在以匿名用户身份访问网站时它就不起作用 .我已经完成了权限设置,但我这辈子看不到任何会影响它的东西。因此,我猜它与一些我无法理解的更高级别的 PHP 访问有关。
有什么想法吗?
最佳答案
Drupal 通常设置为为匿名用户缓存页面。因此,即使设置了 cookie,返回的页面也是相同的。
如果您的服务器可以处理负载,您可以在管理性能页面中禁用缓存,然后它应该可以工作。
关于Drupal 站点中的 PHP 文本大小选择器仅在登录时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2100945/