如何以编程方式编辑块的主体?

时间:2018-03-29 22:56:04

标签: drupal-7 hook auto-update

我有一个块,其中包含正文中的版权日期。

前:

© 2017 Some Company

但是,我希望能够将年份编码为自动更新,而不是每次都必须手动更改。我无法使用PHP过滤器模块。

我会创建自己的模块并运行特定的钩子吗?

2 个答案:

答案 0 :(得分:0)

您可以在自定义模块中创建专用块,然后使用其块模板和CSS等对输出进行样式设置:

<?php
function YOURMODULE_block_info() {
  $blocks['copyright'] = array(
    'info' => t('Copyright'),
    'cache' => DRUPAL_CACHE_GLOBAL,
    'properties' => array(
      'administrative' => TRUE,
    )
  );

  return $blocks;
}

function YOURMODULE_block_view($delta = '') {
  $block = array();
  switch ($delta) {
    case 'copyright':
      $block['subject'] = '';
      $block['content'] = array(
        '#markup' => t('© !YEAR Some Company', array('!YEAR' => date('Y'))),
      );
      break;
  }
  return $block;
}

答案 1 :(得分:0)

使用令牌模块。创建令牌文本格式并将其用于块文本。然后为年份插入令牌“[current-date:custom:Y]”。