दिखाए गए कोई डेटा नहीं, मैंने ड्रूपल 7 का उपयोग करके व्यू 3 के साथ इंटरफ़ेस करने के लिए एक मॉड्यूल लिखा था, लेकिन जब मैं डेटा स्रोत के रूप में अपनी कस्टम तालिका का उपयोग करके एक दृश्य बनाता हूं, तो कोई डेटा दिखाई नहीं देता है। यहाँ MySQL से मेरी स्कीमा है:Drupal 7 - कस्टम तालिका के साथ कस्टम व्यू,
+-------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | mediumtext | NO | | NULL | |
| Department | text | NO | | NULL | |
| credits | int(10) | NO | | NULL | |
| description | longtext | NO | | NULL | |
+-------------+------------+------+-----+---------+----------------+
और यहाँ my_module.views.inc में हुक ओवरराइड है:
function my_module_views_data() {
$tableName = 'My_Awesome_Table';
$data = array();
$data[$tableName]['table']['group'] = t('Courses');
$data[$tableName]['table']['base'] = array(
'field' => 'id',
'title' => t('Courses'),
'help' => t("Contains courses, departments, and descriptions.")
);
$data[$tableName]['title'] = array(
'title' => t('Course name'),
'help' => t('Course name'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'argument' => array(
'handler' => 'views_handler_argument_string',
),
);
$data[$tableName]['Department'] = array(
'title' => t('Course department'),
'help' => t('Course department'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'argument' => array(
'handler' => 'views_handler_argument_string',
),
);
$data[$tableName]['credits'] = array(
'title' => t('Credits'),
'help' => t('Number of credit hours'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'argument' => array('handler' => 'views_handler_argument_numeric'),
'filter' => array('handler' => 'views_handler_filter_numeric'),
'sort' => array('handler' => 'views_handler_sort_numeric')
);
$data[$tableName]['description'] = array(
'title' => t('Course description'),
'help' => t('Course description'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'argument' => array(
'handler' => 'views_handler_argument_string',
),
);
$data[$tableName]['id'] = array(
'title' => t('Unique identifier'),
'help' => t('Primary key for table'),
'field' => array('handler' => 'views_handler_field'),
'argument' => array('handler' => 'views_handler_argument_numeric'),
'filter' => array('handler' => 'views_handler_filter_numeric'),
'sort' => array('handler' => 'views_handler_sort_numeric'));
return $data;
}
कुछ मेरी मानचित्रण के साथ गलत लग रही है? जब मैं एक दृश्य बनाता हूं, तो मैं एक साधारण अनफॉर्मेटेड सूची का प्रयास कर रहा हूं और केवल प्रत्येक फ़ील्ड को लेबल के साथ प्रदर्शित कर रहा हूं। डेटा के साथ दिखाई देने वाला एकमात्र फ़ील्ड id
है, और मेरी तालिका से id
मूल्यों में से सभी हैं। मैंने दृश्य में एक फ़िल्टर जोड़ने की कोशिश की ताकि पाठ्यक्रम विभाग! = खाली और पाठ्यक्रम का नाम! = खाली, जिसने किसी भी परिणाम को समाप्त नहीं किया (id
एस पर दिखाया गया है)। क्वेरी दृश्य पैदा कर रहा है है:
SELECT My_Awesome_Table.title AS My_Awesome_Table_title,
My_Awesome_Table.Department AS My_Awesome_Table_Department,
My_Awesome_Table.description AS My_Awesome_Table_description,
My_Awesome_Table.credits AS My_Awesome_Table_credits,
My_Awesome_Table.id AS id
FROM {My_Awesome_Table} My_Awesome_Table
WHERE (((My_Awesome_Table.Department NOT LIKE '' ESCAPE '\\') AND
(My_Awesome_Table.title NOT LIKE '' ESCAPE '\\')))
जब मैं इस phpMyAdmin में चलाते हैं, तो चारों ओर My_Awesome_Table
से {
और }
को हटाने, यह परिणाम देता है और प्रत्येक स्तंभ में डेटा है।
संपादित करें: यह शायद यह कहने के लिए प्रासंगिक है कि मैंने एक ही डेटाबेस में एक अलग तालिका के लिए एक और कस्टम व्यू मॉड्यूल बनाया है, और यह ठीक काम करता है। मैं, यह एक के लिए एक आधार के रूप में इस्तेमाल किया है कि मॉड्यूल, मॉड्यूल का नाम, समारोह उपसर्गों, आदि
मैं जानता हूँ कि यह शायद स्पष्ट है बनाने के लिए इस हुक को जोड़ने के लिए है, लेकिन यह क्योंकि आम तौर पर समारोह 'my_module' नाम गलत तरीके से लिखा जाता है है जब भी मैं इस तरह एक मुद्दा है। – kylex
@ http://drupal.stackexchange.com/ – Strae