Posterous theme by Cory Watilo

drupal cck and teasers

Есть вот такая связка - Drupal + CCK. Все чудесно, пока в разделах не начинают отображаться длинные новости. Я с ужасом обнаружил, что такое понятие как teaser перестает работать для CCK. Мои поиски привели меня к патчу для CCK. Но ничего хорошего из этого не вышло, пока я не нашел вот этот пост - и все чудесным образом заработало. Там описаны действия для PHPTemplates. Я же использую Smarty, поэтому решение пришлось слегка видоизменить до такого варианта. Хочу заметить, что поле с основным текстом у меня называется field_text, а cck_teaser - это уже появляется из примера ниже, до этого такого поля нет. /themes/mytheme/smartytemplate.php [cc lang="php"] function _smarty_variables($hook, $vars = array()) { switch ($hook) { case 'node': if($vars['node']->type == 'сontent_myitem') if ($vars['field_text'][0]['value']) { $vars['cck_teaser'] = node_teaser($vars['field_text'][0]['value'], $format = NULL); } break; } return $vars; } [/cc] и в коде шаблона (node-content_myitem.tpl) в том месте, где отображалось это самое поле я его заменил на [cc lang="smarty"] {if $teaser eq 1} {$cck_teaser} {else} {$field_text[0].view} {/if} [/cc] Решение, наверное, не самое лучшее, но это то, что я смог сделать, не ламая чего-то другого.