Eu tenho alguns nós não publicados, para os quais tenho seus IDs de nós. Como publicá-los programaticamente? É correto alcançá-lo no módulo personalizado usando uma consulta como a seguinte?
db_query("UPDATE {node} SET status = 1 WHERE nid = %d", $nid)
node_revision
, causando inconsistência.Respostas:
O uso
db_query()
é um método Drupal 6, que não é usado no Drupal 7. Para realizar seu trabalho, sugiro este código (sem nenhuma consulta manual).Se você tiver mais ID do nó e desejar publicar todos esses nós, poderá usar o código a seguir.
fonte
db_query
também é um método Drupal 7. Apenas leva argumentos diferentes.submit
manipulador personalizado ao seu, a partir de então, no manipulador de envio personalizado, você poderá usar algo assim.quando você estiver usando node_load (), node_load_multiple () para carregar um (múltiplo) noad (s), muitos ganchos seriam chamados por módulos, como hook_node_load , hook_node_operations , hook_node_prepare , hook_node_accesse . Porém, ao executar a consulta diretamente no esquema drupal, esses ganchos serão ignorados e levarão a muitos problemas.
As consultas são:
Basta usar o código acima Se node_load () ou node_load_multiple () não estiver funcionando devido à falta de memória disponível.
fonte