در دروپال 6:

دروپال 6 اجازه نمی‌دهد در فایل تم خود از هوک استفاده کنید. لذا برای ویرایش بخش لینک‌های زیر محتوا لازم است یک ماژول جدید ایجاد کنید.

برای ایجاد یک لینک جدید در بخش لینک‌ها، از دستور کلی ()hook_link ، و برای ویرایش یک لینک از دستور کلی ()hook_link_alter استفاده می‌شود.

مثال ایجاد لینک جدید:

example_link($type, $object, $teaser = FALSE) {
  $links = array();
  // Add a custom link to nodes
  if ($type == 'node') {
    $links['example_mylink'] = array(
      'title' => t('Test link'),
      'href' => 'foo',
      'attributes' => array(
        'title' => 'Test link',
      ),
    );
  }
  return $links;
}

مثال ویرایش یک لینک:

example_link_alter(&$links, $node, $comment = NULL) {
  // حذف لینک مطالعه بیشتر
  unset($links['node']['node_read_more']);

  // تغییر عنوان لینک
  $links['node']['node_read_more']['title'] = t('More information');

  // انتقال لینک به اول لینک‌ها
  $link_read_more = $links['node']['node_read_more'];
  unset($links['node']['node_read_more']);
  $links = $links['node'];
  $links['node'] = array(
    'node_read_more' => $link_read_more,
  ) + $links;

  // انتقال لینک به آخر لینک‌ها
  $link_read_more = $links['node']['node_read_more'];
  unset($links['node']['node_read_more']);
  $links['node']['node_read_more'] = $link_read_more;
}

در دروپال 7:

در دروپال 7 این کار ساده‌تر است؛ زیرا این نسخه از دروپال اجازه می‌دهد که خود قالب از دستورات هوک استفاده کند. لذا ما می‌توانیم در فایل template.php از دستور کلی ()hook_node_view_alter‌ بدین منظور استفاده کنیم.

function example_node_view_alter(&$build) {
  // حذف لینک مطالعه بیشتر
  unset($build['links']['node']['#links']['node-readmore']);

  // افزودن لینک دلخواه
  $build['links']['node']['#links']['example-mylink'] = array(
    'title' => t('Test link'),
    'href' => 'foo',
    'html' => TRUE,
    'attributes' => array(
      'title' => 'Test link',
    ),
  );

  // انتقال لینک مطالعه بیشتر به اول لینک‌ها
  $link_read_more = $build['links']['node']['#links']['node_read_more'];
  unset($build['links']['node']['#links']['node_read_more']);
  $links = $build['links']['node']['#links'];
  $build['links']['node']['#links'] = array(
    'node_read_more' => $link_read_more,
  ) + $links;

  // انتقال لینک مطالعه بیشتر به آخر لینک‌ها
  $link_read_more = $build['links']['node']['#links']['node_read_more'];
  unset($build['links']['node']['#links']['node_read_more']);
  $build['links']['node']['#links']['node_read_more'] = $link_read_more;
}

Rated 5 / 5 based on 5 reviews.