Book 模块的 weight 值太小的解决办法

  默认情况下,Book 模块书页的 weight 值只有 -15 到 15,这意味着,如果某个 Book 的书页超过 31 个,书页的排序就会出现问题,因为在 weight 值相同的情况下,书页就会按标题首字进行字符排序。虽然可以手动更改书页的标题来对排序进行控制,但是这样的解决方案不够优雅,特别是如果中间要插入新的书页的时候,要对其它的一些标题进行改动,很不灵活。

  解决这个问题比较好的办法,是对 book.admin.inc 文件进行一项小的改动,虽说更改 drupal 源代码是不被推荐的,不过这样一个小的改动影响并不大。

用编辑器打开 book.admin.inc 文件,找到以下代码

<?php
'weight' => array(
  
'#type' => 'weight',
  
'#default_value' => $data['link']['weight'],
  
'#delta' => 15,
),
?>

将其中的 '#delta' 值改成你想要的某个值,如改成 50, 手册 weight 值的范围就变成-50到50了

<?php
'#delta' => 50,
?>


付费阅读