лучший способ использовать db_select в файле Drupal 7 Tpl? - PullRequest
0 голосов
/ 20 октября 2019

Может кто-нибудь предложить мне, как написать запрос SQL в файл .tpl?

Я пытался написать db_select ('node', 'n');Но это не лучший способ! и я попытался написать это в template.php, но не работает!

Мой код хорошо работает в tpl!

Пожалуйста, дайте мне решение написать запрос sql в файл tpl

Мой запрос:

    $node = $variables['node'];
    $author = user_load($node->uid);
    $query = db_select('node', 'n')
    ->condition('n.uid', $author->uid, '=')
    ->condition('type', 'agahi');
    $count_query = $query->countQuery()->execute()->fetchField();
    print $count_query;

1 Ответ

1 голос
/ 24 октября 2019

в вашем файле template.php тем используйте функции предварительной обработки, например, для получения некоторых данных из mysql и передачи в node.tpl

function ample_preprocess_node(&$variables) {
  if( $variables['type'] == 'your_content_type_name') {
    $queryresult = db_select('tablename', 'tn')
      ->fields('n')
      ->condition('field_name', 123,'=')
      ->execute()
      ->fetchAll();
  foreach ($queryresult as $queryres) {
    $your_variable_name = $queryres->table_col_name;
  }  
    $variables['your-variable-name'] = $your_variable_name;
  }
}

, затем в вашем узле - your_content_type_name.tpl.php print $your_variable_name;

...