কীভাবে আমি ড্র্যাশ সহ সামগ্রীর ধরণের তালিকা পেতে পারি?


14

আমি কীভাবে বিদ্যমান সামগ্রীর ধরণের তালিকা ড্র্যাশ সহ পেতে পারি? এটি আমাকে দ্রুত তালিকা তৈরি করতে দেয়।

আমি চেষ্টা করেছি:

$ drush @d6 @sites genc --types

তবে এর জন্য আমার devel_generatesমডিউল সক্ষম হওয়া দরকার ।

কমান্ড জেনক চালাতে নিম্নলিখিত মডিউল (গুলি) সক্ষম হওয়া প্রয়োজন: ডিভেল_জেনারেট।


সবচেয়ে সহজ উপায় অ্যাডমিন / কাঠামো / প্রকারগুলি খোলা
xurshid29

1
আপনি তখন এটি সক্ষম করবেন না কেন?
Mołot

কারণ এই মডিউলটি বিষয়বস্তুর ধরণের একটি তালিকা দেয় না ... আসলে আমি এডমিন / সামগ্রী / প্রকার / তালিকা থেকে কপি / পেস্ট তালিকার মাধ্যমে এটি করি
ওয়েবমাস্টার পিএফ

জেনকটি নতুন সামগ্রী তৈরি করতে ডেভেল_জেনারেট থেকে ব্যবহৃত হয়, এটি আপনাকে বিদ্যমান সামগ্রীর প্রকারগুলি প্রদর্শন করবে না।
আন্দ্রে বাউমিয়ের

এই ফাংশনটি রয়েছে: api.drupal.org/api/drupal/modules!node!node.module/function/…
Andre Baumeier

উত্তর:


6

আপনি একটি ড্রাশ কমান্ড নামে তৈরি করতে পারেন content-type-list। এই কোডটি ফাইলের drush_content_typesভিতরে রেখে একটি মডিউল তৈরি করুন drush_content_types.drush.inc:

<?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));
}

মডিউলটি ইনস্টল করুন, drush cc drushড্রাশ ক্যাশে সাফ করার জন্য রান করুন এবং কমান্ডটি এভাবে ব্যবহার করুন:

drush ctl

অথবা

drush content-type-list

আপনি যদি কমান্ডটিতে অন্য একটি উপন্যাস যুক্ত করতে চান তবে এই জাতীয় উপকরণের অ্যারেতে উপাদান যুক্ত করুন:

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

এবং আপনি এই আদেশগুলি ব্যবহার করতে পারেন:

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

সর্বদা আউটপুট হবে:

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

13

নামের তালিকা:

drush sqlq "SELECT name FROM node_type;"

যন্ত্রের নামগুলির তালিকা:

drush sqlq "SELECT type FROM node_type;"

এটি ডি 6 এবং ডি 7 এ কাজ করে।

কমান্ডের আউটপুট প্রথম লাইন যথাক্রমে nameবা হবে type|tail -n +2আপনি যদি প্রথম লাইনটি ড্রপ করতে চান তবে পাইপ করুন ।


চেষ্টা $ drush @d6mg sqlq "SELECT type FROM node_type;" ERROR 1146 (42S02) at line 1: Table 'drupal6_mg.node_type' doesn't exist $ drush @d6mg sqlq "SELECT name FROM node_type;" ERROR 1146 (42S02) at line 1: Table 'drupal6_mg.node_type' doesn't exist
করেও

1
@ ওয়েবমাস্টার_পিএফ, আমি আবার এটি যাচাই করেছি, ভাল কাজ করে। আপনার কি এই সাইটে একটি টেবিল_প্রিফিক্স আছে? কি দেয় drush sqlq "SHOW TABLES;"|grep type?
kqw

হ্যাঁ আমার উপসর্গ আছে তবে আপনার আদেশটি আমাকে টেবিলের একটি তালিকা দেয় isএটিই সঠিক কমান্ড: স্ক্র্যাচ ড্র্যাশ "টেবিলগুলি দেখান;" | গ্রেপ কন্টেন্ট_টাইপ
ওয়েবমাস্টার পিএফ

10

নিম্নলিখিত কমান্ড ব্যবহার করে দেখুন।

ড্রুপাল 7 এবং 8

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

ড্রুপাল 5 এবং 6

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

5

আপনি যদি ড্রুপালে এটি কীভাবে করতে জানেন তবে আপনার কেবল এটি ব্যবহার করতে হবে drush eval:

ড্রুপাল 6:

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

ড্রুপাল 7:

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

অন্যান্য দরকারী উদাহরণ ব্যবহার করে ড্রশ কমান্ডের এই তালিকাটি দেখুন eval

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.