【发布时间】:2017-05-28 04:17:23
【问题描述】:
我创建了一个简单的自定义块模块,用于显示访问网站的用户的 IP 地址。当站点获得访问者时,该访问者会在块中看到他们自己的 IP 地址。我不需要存储此信息或将其用于任何其他目的,这仅用于美学目的,因此只需要块插件。该模块工作正常并显示 IP,但是,它被缓存并且 IP 不会更新,除非我手动访问性能页面并清除站点缓存。如何覆盖它以便访问者看到他们当前的 IP 地址?
这是我的自定义块模块文件:
<?php
namespace Drupal\tester\Plugin\Block;
use Drupal\Core\Block\BlockBase;
use Symfony\Component\HttpFoundation\Request;
class newid extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
$request = \Drupal::request()->getClientIp();
return array('#markup' => $request);
}
}
【问题讨论】:
标签: php caching drupal drupal-modules drupal-8