Kullanım Drupal Simgesi örnekleri

2 Cevap php

[node-5663] düğüm-id 5663 eşleşen düğümün içeriği (gövde) tercüme edilecektir: Örneğin ben, yer tutucu çeşit kullanarak başka bir düğüm bir düğüm içerik eklemek gerekir.

[table-TABLE-ID] burada TABLE-ID I (CCK kullanarak) düğümünde tanımlayan bir alan olacaktır: Yukarıda örnekte ne gerekir aslında bu gibi bir şey olduğunu, sadece bir örnektir.

Ben herhangi bir sorun arıyor ve ben almaya gerek içeriğiyle eşleşen var, ama ne ben eksik simgeleri kullanmak nasıl olduğunu bilmiyorum.

Herhangi bir yardıma açığız :) olurdu

2 Cevap

Ben ne istediğinizi tam detayları üzerinde biraz bulanık olsa da, temel dayanak aslında oldukça basittir.

Sadece aşağıdaki benzer bazı belirteçleri, tanımlayan özel bir modül, inşa etmek isteyeceksiniz:

/**
 * Implements hook_theme().
 */
function my_module_theme() {
  return array(
    'my_module' => array(
      'arguments' => array('object' => NULL)
    ),
  );
}

/**
 * Implements hook_token_list().
 */
function my_module_token_list($type = 'all') {
  if ($type == 'node' || $type == 'all') {
    $tokens = array();
    $tokens['my_module']['table-TABLE-ID'] = t('description').
    return $tokens;
  }
}

/**
 * Implements hook_token_values().
 */
function my_module_token_values($type, $object = NULL) {
  if ($type == 'node') {
    ($table, $id) = explode('-', $object->my_field['value']);
    $tokens['table-' . $object->my_field['value']] = theme('my_module', db_fetch_object(db_query("SELECT * FROM {" . $table . "} WHERE id = %d", $id)));
    return $tokens;
  }
}

function theme_my_module($object) {
  return '<div>' . $object->content . '</div>';
}

Note: Tüm bu kod teorik ve ben o iş olmaz oldukça fazla devlet yapabilirsiniz. Bu db_query Ben yerine siz (table-düğüm-kimlik 'istediğiniz her sorgu türü için farklı bir belirteç olmalıdır, (ne istediğini benim yorumu oldu) burada yapmış şekilde yapmak için de son derece güvensiz, vb.)

Bu biraz yardımcı olur umarım.

Eğer php içinde başka modülünden belirteçleri erişmek için gerekiyorsa, bunu hızlı bir şekilde drupal fonksiyonu ile "token_replace ($ metin)" dir

Bunu belirteci içerebilir ve değiştirilmesi belirteci ile metin dönecektir metin geçmek.

Siteye 7 örneğin

<?php
$tokentext = "I'm the ga_tokenizer:ga-term [ga_tokenizer:ga-term]";
$processedText = token_replace($tokentext);
print $processedText;
?>

This will output I'm the ga_tokenizer:ga-term THE SEARCH TERM USED TO FIND THE PAGE

Sadece gerçek belirteci değeri, kullanım istiyorsanız

<?php
$tokentext = "[ga_tokenizer:ga-term]";
$processedText = token_replace($tokentext);
?>