小编mAt*_*AtZ的帖子

Drupal 7:带有链接的复选框标签

是否可以在复选框的标签/标题中添加简单的html链接?我尝试了以下代码:

<?php
$form['legal']['#type'] = 'checkbox';
$form['legal']['#required'] = TRUE;
$form['legal']['#title'] = t(
  'You must accept our @tos and @legals',
  array(
    '@tos'    => l(t('terms of service'), 'node/6'),
    '@legals' => l(t('legals'), 'node/7')
  )
);
?>
Run Code Online (Sandbox Code Playgroud)

但是这会产生以下标签(html标记不是"翻译"):

"你必须接受我们的<a href ="/ node/6">服务条款</ a>和<a href ="/ node/7"> legals </ a>*"

(我在开口括号后添加了空格,以便它不会转换为我想要的链接)

这样的事情不可能吗?我是drupal的新手.也许有人可以帮助我...谢谢!

drupal drupal-7 drupal-fapi drupal-forms

5
推荐指数
1
解决办法
3629
查看次数

根据内核请求重定向

我的项目的网站可以通过子域访问,例如https://1234.example.com子域由四个数值组成,代表特殊用户实体的 id。因此,当发出请求时,我必须检查该 id 是否真的存在,如果不存在,我想重定向到根 url https://www.example.com。如果用户使用了正确的 id,则无需执行任何操作。我做了一个事件监听器并检查了 id 的存在。这像预期的那样工作。但是重定向到根 url 将不起作用:

public function onKernelRequest(GetResponseEvent $event)
{
    if ($event->getRequestType() !== HttpKernel::MASTER_REQUEST) {
        return;
    }

    $request = $event->getRequest();

    $hostArray = explode('.', $request->getHost());
    $subdomain = $hostArray[0];

    array_shift($hostArray);
    $host = implode('.', $hostArray);

    if (!is_numeric($hostArray[0])) {
        return new RedirectResponse($host);
    }

    $user = $this->userManager->findUserBy(['id' => $subdomain]);
    if (null === $user) {
        return new RedirectResponse($host);
    }
}
Run Code Online (Sandbox Code Playgroud)

即使 id 不存在,url 也不会改变。当我逐步调试代码时,我可以看到他到达了 RedirectResponse。但什么也没有发生。

有任何想法吗?

php symfony

3
推荐指数
1
解决办法
4372
查看次数

标签 统计

drupal ×1

drupal-7 ×1

drupal-fapi ×1

drupal-forms ×1

php ×1

symfony ×1