উত্তর:
এখানে একটি ফাংশন যা নির্দিষ্ট সামগ্রীর ধরণের জন্য নোডের সংখ্যা ফেরত দেবে:
function YOURTHEME_get_node_count($content_type) {
$query = 'SELECT COUNT(*) ' .
'FROM {node} n ' .
'WHERE n.type = :type';
return db_query($query, array(
':type' => $content_type
))->fetchField();
}
আপনার থিমটিতে এই কোডটি ব্যবহার করতে, আপনার মধ্যে ফাংশনটি যুক্ত করুন template.php
এবং তারপরে আপনি ফাংশনটিকে এভাবে কল করতে পারেন:
echo 'Pages: ' . YOURTHEME_get_node_count('page');
echo 'Products: ' . YOURTHEME_get_node_count('product');
এটি করতে আপনি ভিউ মডিউলটি ব্যবহার করতে পারেন ।
এটা হওয়া উচিত! প্রয়োজনে ফিল্ড লেবেল এবং সারি স্টাইল সেটিংসের মতো আরও কিছু সেটিংস সমন্বয় করুন।
এই জাতীয় দৃশ্যের রফতানি এখানে আপনি সহজেই আমদানি করে দেখতে পারেন:
$view = new view;
$view->name = 'nodecounts';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Node counts';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Node counts';
$handler->display->display_options['group_by'] = TRUE;
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['row_options']['inline'] = array(
'type_1' => 'type_1',
'type' => 'type',
);
$handler->display->display_options['row_options']['separator'] = ': ';
$handler->display->display_options['row_options']['hide_empty'] = 0;
$handler->display->display_options['row_options']['default_field_elements'] = 1;
/* Field: Content: Type */
$handler->display->display_options['fields']['type_1']['id'] = 'type_1';
$handler->display->display_options['fields']['type_1']['table'] = 'node';
$handler->display->display_options['fields']['type_1']['field'] = 'type';
$handler->display->display_options['fields']['type_1']['label'] = '';
$handler->display->display_options['fields']['type_1']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['external'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['type_1']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['type_1']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['trim'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['html'] = 0;
$handler->display->display_options['fields']['type_1']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['type_1']['element_default_classes'] = 1;
$handler->display->display_options['fields']['type_1']['hide_empty'] = 0;
$handler->display->display_options['fields']['type_1']['empty_zero'] = 0;
$handler->display->display_options['fields']['type_1']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['type_1']['link_to_node'] = 0;
$handler->display->display_options['fields']['type_1']['machine_name'] = 0;
/* Field: COUNT(Content: Type) */
$handler->display->display_options['fields']['type']['id'] = 'type';
$handler->display->display_options['fields']['type']['table'] = 'node';
$handler->display->display_options['fields']['type']['field'] = 'type';
$handler->display->display_options['fields']['type']['group_type'] = 'count';
$handler->display->display_options['fields']['type']['label'] = '';
$handler->display->display_options['fields']['type']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['type']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['type']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['type']['alter']['external'] = 0;
$handler->display->display_options['fields']['type']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['type']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['type']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['type']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['type']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['type']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['type']['alter']['trim'] = 0;
$handler->display->display_options['fields']['type']['alter']['html'] = 0;
$handler->display->display_options['fields']['type']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['type']['element_default_classes'] = 1;
$handler->display->display_options['fields']['type']['hide_empty'] = 0;
$handler->display->display_options['fields']['type']['empty_zero'] = 0;
$handler->display->display_options['fields']['type']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['type']['separator'] = '';
$handler->display->display_options['fields']['type']['format_plural'] = 0;
/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block');
পছন্দের, প্রোগ্রাম্যাটিক উপায় হ'ল এন্টিফিল্ডকুইয়ার ক্লাসটি ব্যবহার করা । কেন অ্যান্টিফিল্ডকুয়েরি db_query () এর চেয়ে সেরা ।
নোড টাইপ ব্লগ গণনা করার একটি উদাহরণ এখানে।
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node') // grab nodes
->entityCondition('bundle', 'blog') // filter by blog type
->propertyCondition('status', 1) // filter by published
->count(); // count
$result = $query->execute();
অনুরূপ প্রশ্ন দেখুন ।
আমি এটিটিফিল্ডকিউরি ব্যবহার করে করেছি।
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
/* this is the content type machine name */
->entityCondition('bundle', 'product')
/* You can set extra properties using fieldCondition and properties with propertyCondition */
->fieldCondition('field_product_status', 'tid', key(taxonomy_get_term_by_name('New')))
;
$result = $query->execute();
if (isset($result['node'])){
$count_of_new_product_nodes = count($result['node']);
}
ড্রাশ ব্যবহার করা সহজ এবং দ্রুত।
drush sqlq 'select count(node.nid) as node_count, node_type.type from node inner join node_type on node.type = node_type.type group by node_type.type'
এটি এর মতো আউটপুট দেয়:
node_count type
17 category_2012
20 category_2013
19 category_2014
3 competition
19 entry_2012_breakthrough
89 entry_2012_digitalother
50 entry_2012_directdirect
19 entry_2012_filmsecscn
17 entry_2012_insights
12 entry_2012_outdoor
31 entry_2012_promo
19 entry_2013_breakthrough
100 entry_2013_digitalother
40 entry_2013_directdirect
এবং তারপরে আপনি যদি কোনও নির্দিষ্ট ধরণের মাধ্যমে ফিল্টার করতে চান তবে কেবল গ্রেপ ব্যবহার করুন:
drush sqlq 'select count(node.nid) as node_count, node_type.type from node inner join node_type on node.type = node_type.type group by node_type.type' | grep 2014
আগ্রহী যে কারও জন্যই, আরেকটি সমাধান হ'ল সিলেক্টকোয়ারী ক্লাসের ( ডিবি_সलेक्टের মাধ্যমে ) কাউন্টকিউরি পদ্ধতিটি ব্যবহার করা ।
$count = db_select('node')
->condition('type', 'some-type')
->countQuery()->execute()->fetchField();
যাইহোক, আমি টাইমোফাই দ্বারা পোস্ট করা অ্যান্টিফিল্ডকিউরি সলিউশনটি পছন্দ করি না। আমি কেবল এটি যুক্তিসঙ্গত বোধগম্য বিকল্প হিসাবে সরবরাহ করছি।
SELECT
COUNT({node}.nid) AS node_count,
{node_type}.type
FROM {node}
INNER JOIN {node_type} ON {node}.type = {node_type}.type
GROUP BY {node_type}.type;
এই কোডটি আপনার কোডটিতে ব্যবহার করুন
নোড প্রকার গণনা মডিউল একই প্রয়োজন হিসাবে না।
এই মডিউলটি কোনও নির্দিষ্ট সামগ্রী-ধরণের নোডের গণনা এবং নির্দিষ্ট ভূমিকা ধরণের ব্যবহারকারীদের সংখ্যা দেখানোর জন্য ব্যবহৃত হয়।
এই মডিউলটি কেবলমাত্র পরিসংখ্যান এবং দেব উদ্দেশ্যে ব্যবহৃত হবে।
ভিউজ মডিউলটি ব্যবহার সম্পর্কে উত্তরের ভিন্নতা হিসাবে , আপনি চার্ট মডিউলটির সাথে দেখা ভিউটি "ব্যবহার" করতে পারেন । কেবল এটি ইনস্টল / সক্ষম করুন, কোনও অতিরিক্ত কনফিগারেশন, কোডিং ইত্যাদি প্রয়োজন নেই। এই দর্শন সম্পর্কে আরও কিছু বিশদ, যা বাক্সের বাইরে-র উদাহরণগুলির মধ্যে অন্তর্ভুক্ত রয়েছে (এই লিঙ্কের উদ্ধৃতি):
...
charts/examples/views
আপনার সাইটে নেভিগেট করুন । তারপরে আপনার একটি কলাম চার্ট এবং পাই চার্ট দেখতে হবে, যা একটি সারণী প্রদর্শনও অনুসরণ করে। চার্ট এবং সারণী প্রদর্শন উভয়ই উপলভ্য সামগ্রীর প্রতিটি ধরণের জন্য নোডের মোট সংখ্যা সম্পর্কে ডেটা ধারণ করে।
নোট:
প্রকাশ: আমি এই মডিউলটির রক্ষণাবেক্ষণকারী,
আমি আশা করি এটি স্ব-প্রচারের ক্ষেত্রে সাইটের নীতি লঙ্ঘন করবে না ।