Как огульно у нод убрать флажок "показывать анонс в полной версии" ?

Главные вкладки

Аватар пользователя bifurcate bifurcate 5 мая 2009 в 10:33

Привет, друпалеры!

Простой вопросик вроде, но что-то не соображу, может кто подскажет:

Как через БД (или иным образом) почикать у всех добавленных нод заданного типа флажок "Show summary in full view" ("показывать анонс в полной версии")?

В таблицах node и node_revision такого поля вроде нет? Но ведь данные в базе должны быть где-то.

Комментарии

Аватар пользователя andypost@drupal.org andypost@drupal.org 5 мая 2009 в 11:45

Для этого нужно анализировать поле body таблицы node_revisions на предмет <!--break-->

Если анонс показывается в полной версии, то копия поля teaser будет отделена <!--break--> от остального контента.

По идее нужно просто отрезать содержимое поля teaser от поля body, но body должен начинаться с <!--break-->

Аватар пользователя bifurcate bifurcate 5 мая 2009 в 14:02

ну ладно, пришлось резать, тупо по строке, в шаблоне прописал:


      <?php
    $res 
db_query("SELECT * FROM {node_revisions} WHERE nid = %d"$nid);
           while(
$r db_fetch_object($res)){
                    
$nu strpos($r->body"<!--break-->");
                    
$re substr($r->body $nu);
                    print 
$re;
                  }
       
?>
Аватар пользователя kovtunos kovtunos 5 мая 2009 в 20:08

"bifurcate" wrote:
ну ладно, пришлось резать, тупо по строке, в шаблоне прописал:

А в каком именно файле и в каком месте прописали?

Аватар пользователя bifurcate bifurcate 6 мая 2009 в 12:05

kovtunos wrote:
"bifurcate" wrote:
ну ладно, пришлось резать, тупо по строке, в шаблоне прописал:

А в каком именно файле и в каком месте прописали?

В шаблоне создаваемым модулем contemplate для заданного типа node.

Аналогично можно поступить, если использовать свой файл шаблона, без contemplate.

Или напрямую проверять тип node в файле node.tpl.php и далее прописывать нужную обрезку.