it-swarm.com.de

Wie kann ich mit drush eine Liste von Inhaltstypen erhalten?

Wie kann ich die vorhandene Liste der Inhaltstypen mit drush abrufen? Dadurch kann ich schnell eine Liste erstellen.

Ich habe versucht mit:

$ drush @d6 @sites genc --types

Aber ich brauche das devel_generates Modul dafür aktiviert.

Für den Befehl genc müssen die folgenden Module aktiviert sein: devel_generate.

14
webmaster pf

Sie können einen Drush-Befehl mit dem Namen content-type-list Erstellen. Erstellen Sie ein Modul mit dem Namen drush_content_types. Geben Sie in die Datei drush_content_types.drush.inc Diesen Code ein:

<?php
/**
 * @file
 * Drush commands related to Content Types.
 */

/**
* Implements hook_drush_command().
*/
function drush_content_types_drush_command() {
  $items['content-type-list'] = array(
    'description' => dt("Show a list of available content types."),
    'aliases' => array('ctl'),
  );
  return $items;
}

/**
 * Callback for the content-type-list command.
 */
function drush_drush_content_types_content_type_list() {
  $content_types = array_keys(node_type_get_types());
  sort($content_types);

  drush_print(dt("Machine name"));
  drush_print(implode("\r\n", $content_types));
}

Installieren Sie das Modul, führen Sie drush cc drush Aus, um den Drush-Cache zu löschen, und verwenden Sie den folgenden Befehl:

drush ctl

oder

drush content-type-list

Wenn Sie dem Befehl einen weiteren Alias ​​hinzufügen möchten, fügen Sie dem Aliase-Array folgende Elemente hinzu:

'aliases' => array('ctl', 'all-content-types', 'act'),

Und Sie können diese Befehle verwenden:

drush act
drush all-content-types
drush ctl
drush content-type-list

Die Ausgabe wird immer sein:

Machine name:
content 1
content 2
content...
content n
6

Namensliste:

drush sqlq "SELECT name FROM node_type;"

Liste der Maschinennamen:

drush sqlq "SELECT type FROM node_type;"

Dies funktioniert in D6 und D7.

Die erste Zeile der Befehlsausgabe lautet name bzw. type. Rohr |tail -n +2 wenn Sie diese erste Zeile löschen möchten.

13
kqw

Versuchen Sie die folgenden Befehle.

Drupal 7 & 8

drush ev "print_r(array_keys(node_type_get_types()));"

Drupal 5 & 6

drush ev "print_r(array_keys(node_get_types()));"
10
kenorb

Wenn Sie wissen, wie es in Drupal geht, müssen Sie nur drush eval Verwenden:

Drupal 6:

drush eval '$types = node_get_types(); foreach($types as $type => $object) { print $type . "\n"; }'

Drupal 7:

drush eval '$types = node_type_get_types(); foreach($types as $type => $object) { print $type . "\n"; }'

In diesem Liste der Drush-Befehle finden Sie weitere nützliche Beispiele für die Verwendung von eval.

5
Pere