Drupal

คำถาม & คำตอบสำหรับนักพัฒนาและผู้ดูแลระบบ Drupal

2
บันทึกการเฝ้าระวังอยู่ที่ไหนหรือฉันจะดูข้อผิดพลาดที่สร้างขึ้นได้อย่างไร
ฉันจะดูบันทึกการทำงานที่สร้างขึ้นได้อย่างไร มีอินเทอร์เฟซสำหรับดูไฟล์เหล่านั้นหรือมีการจัดเก็บไฟล์บันทึกไว้ในระบบไฟล์หรือไม่?
11 6 

1
ความแตกต่างระหว่าง field_data และ field_revision ตาราง?
ฉันมีฟังก์ชั่นที่กำหนดเองมากมาย ฉันแค่อยากให้แน่ใจว่าฉันทำถูก ถ้าฉันต้องการเวอร์ชันล่าสุด - เวอร์ชันสดของโหนดฉันไปที่field_data_field_xyzตารางใช่ไหม ความเข้าใจของฉันคือfield_revision_field_xyzเก็บรุ่นเก่าทั้งหมดถูกต้องหรือไม่
11 7  database 

3
ฉันจะแปลงธีม Wordpress ได้อย่างไร
ฉัน googled แต่ฉันไม่พบโซลูชันอัตโนมัติใด ๆ ดังนั้นฉันเริ่มด้วยตนเอง การแมปไฟล์ CSS นั้นง่าย แต่ฉันกำลังมองหาวิธีแมปบล็อก / เทมเพลต กรุณาช่วย.
11 theming 

1
Drupal file_copy ไม่ทำงาน
ฉันมีรหัสต่อไปนี้: $main_image = glob('main*.{jpeg,gif,png,jpg,JPEG,JPG,PNG}', GLOB_BRACE); if (count($main_image) != 1) die("Could not find main picture !"); $file_path = drupal_realpath($main_image[0]); $file = (object) array( 'uid' => $userID, 'uri' => $file_path, 'filemime' => file_get_mimetype($file_path), 'display' => 1, 'filename' => $main_image[0] ); // copy the file in the correct folder $destination = "public://galerii_imagini/" . …
11 media 

2
เมื่อใดที่ฉันควรสร้างบริการหรือฟังก์ชั่นยูทิลิตี้
ฉันมีคำถามนี้อยู่ในใจตลอดสัปดาห์ที่แล้ว: เมื่อใดที่ฉันควรสร้างบริการหรือฟังก์ชั่นยูทิลิตี้ ใน Drupal Core เรามีทั้งบริการและฟังก์ชั่นยูทิลิตี้ แต่ฉันไม่สามารถหาข้อแตกต่างระหว่างพวกเขา (เมื่อฉันต้องการที่จะสร้างบริการหรือเมื่อฉันต้องการที่จะสร้างฟังก์ชั่นยูทิลิตี้) ฉันจะใช้เป็นตัวอย่างโมดูลน้ำหนักที่ฉันมีชั้นInternalFunctions <?php namespace Drupal\modules_weight\Utility; class InternalFunctions { public static function prepareDelta($weight) { $delta = 100; $weight = (int) $weight; if ($weight > $delta) { return $weight; } if ($weight < -100) { return $weight * -1; } return $delta; } public static …

1
Drush dl ไม่ทำงานกับ PHP 7 และ Ubuntu 16.04
เมื่อฉันพยายามทำ: drush dl drupal-8 ฉันได้รับข้อผิดพลาดต่อไปนี้: PHP Fatal error: Uncaught Error: Call to undefined function Drush\UpdateService\simplexml_load_file() in /home/alexander/.config/composer/vendor/drush/drush/lib/Drush/UpdateService/Project.php:74 Stack trace: #0 /home/alexander/.config/composer/vendor/drush/drush/lib/Drush/UpdateService/ReleaseInfo.php(64): Drush\UpdateService\Project::getInstance(Array, 86400) #1 /home/alexander/.config/composer/vendor/drush/drush/lib/Drush/UpdateService/ReleaseInfo.php(122): Drush\UpdateService\ReleaseInfo->get(Array) #2 /home/alexander/.config/composer/vendor/drush/drush/commands/pm/download.pm.inc(111): Drush\UpdateService\ReleaseInfo->selectReleaseBasedOnStrategy(Array, '', 'auto', false, NULL) #3 /home/alexander/.config/composer/vendor/drush/drush/includes/command.inc(366): drush_pm_download() #4 /home/alexander/.config/composer/vendor/drush/drush/includes/command.inc(217): _drush_invoke_hooks(Array, Array) #5 /home/alexander/.config/composer/vendor/drush/drush/includes/command.inc(185): drush_command() #6 /home/alexander/.config/compos in /home/alexander/.config/composer/vendor/drush/drush/lib/Drush/UpdateService/Project.php on line 74 …
11 8  drush 

4
ฉันจะเพิ่มแท็บที่กำหนดเองในหน้าโปรไฟล์ผู้ใช้ได้อย่างไร
ฉันต้องเพิ่มแท็บที่กำหนดเองในหน้าโปรไฟล์ผู้ใช้ ฉันกำหนดเส้นทางของฉันดังนี้: mymodule.routing.yml mymodule.account: path: '/user/{user}/custom' defaults: _form: '\Drupal\mymodule\Form\MyModuleUserSettingsForm' _title: 'Custom Settings' user: \d+ requirements: _permission: 'access content' mymodule.links.task.yml mymodule.account: title: Mymodule Settings route_name: mymodule.account base_route: entity.user.canonical mymodule.links.menu.yml mymodule.account: title: My module Settings parent: entity.user.canonical route_name: mymodule.account จากนั้นหลังจากแท็บล้างแคชปรากฏขึ้นในหน้าโปรไฟล์ แต่เมื่อฉันเปิด url / user / 1 / กำหนดเองฉันเห็นข้อความไม่พบหน้า
11 users  8  routes 

4
วิธีกำหนดค่าตัวกรองที่เปิดเผยในมุมมองโดยใช้ตัวใช้เลือกวันที่
ฉันจะกำหนดค่าตัวกรองแบบเปิดเผยเพื่อให้ผู้ใช้สามารถกรองเนื้อหาเว็บไซต์ของฉันตามวันที่สร้างได้อย่างไรโดยใช้ตัวเลือกวันที่ ฉันลองใช้เนื้อหา: เขียนโดยเป็นตัวกรอง แต่ฉันได้รับฟิลด์ข้อความเพื่อป้อนวันที่เพื่อป้อนวันที่ / เวลาในรูปแบบyyyy-mm-dd hh: mm: ssซึ่งทำให้การป้อนวันที่ยากขึ้นสำหรับผู้ใช้ และเกิดข้อผิดพลาดได้ง่ายขึ้น ความแตกต่างระหว่าง Drupal 8 กับ Drupal 7 กับViews 7.x-3 คืออะไร?
11 8  views  datetime 

6
วิธีเพิ่มเขตข้อมูลลงในรายการเมนู
ฉันต้องการสร้างเมนูหลักที่เป็นส่วนย่อยของเมนูปกติ ทีมออกแบบคิดว่ามันจะเป็นการดีกว่าสำหรับผู้ใช้ที่จะมีลิงค์ที่สำคัญที่สุดในเมนูหลักเท่านั้นและไม่มีทุกสิ่ง ลิงค์บางอันเป็นเมนูระดับบนสุดและบางลิงค์เป็นเมนูย่อย สำหรับสิ่งนี้ฉันหวังว่าจะสามารถเพิ่มเขตข้อมูลลงในแบบฟอร์มรายการลิงก์เมนูเป็นแบบเลื่อนลง เมื่อสร้างลิงก์ผู้ใช้สามารถใช้เมนูดรอปดาวน์นี้เพื่อ "PromotToMainMenuAsBigLink" หรือ "PromotToMainMenuAsSmallLink" หรือไม่เลือกที่จะไม่แสดงรายการในเมนูหลัก ฉันกำลังมองหาโซลูชันที่คล้ายกันกับโซลูชันDrupal 7แต่สำหรับ Drupal 8 ฉันหวังว่าจะสามารถเพิ่มคอลัมน์ในตารางเมนู _link_content_data ข้าง 'ขยาย' ฉันหวังว่าจะไม่ต้องบันทึกข้อมูลนี้ในตารางอื่นอย่างที่แสดงในโซลูชัน d7 ฉันสามารถเพิ่มเขตข้อมูลไปยังแบบฟอร์มการเชื่อมโยงในโมดูลที่กำหนดเองที่ฉันสร้างได้เพียงเพื่อวัตถุประสงค์ในการทดสอบฉันเพิ่มเฉพาะฟิลด์ข้อความเพื่อเริ่มต้นด้วย: custom_menu.module: function custom_menu_form_alter(&$form, FormStateInterface $form_state, $form_id) { if($form_id == 'menu_link_content_menu_link_content_form') { $form['promoteToMainMenu'] = array( '#type' => 'textfield', '#title' => t('Promote to main menu'), '#description' => t('Promote link menu to main …
11 8  navigation 

3
ฉันจะบันทึกไฟล์ที่อัพโหลดอย่างถาวรในตาราง file_manged ได้อย่างไร
ฉันจะบันทึกไฟล์ที่อัปโหลดที่มีสถานะเท่ากับ 1 ในตาราง file_managed ใน Drupal 8 ได้อย่างไร เมื่อใดก็ตามที่ฉันอัปโหลดไฟล์มันจะถูกเก็บไว้ในตาราง file_managed ที่มีค่าสถานะ 0 ฉันเคยFile::load( $form_state->getValue('image'))โหลดไฟล์ ฉันต้องทำอะไรต่อไป ใน Drupal 7 $file->status = FILE_STATUS_PERMANENTผมจะใช้ รหัสเทียบเท่าสำหรับ Drupal 8 คืออะไร class AddBannerForm extends FormBase { public function getFormId() { return 'add_banner_form'; } public function buildForm(array $form, FormStateInterface $form_state) { $form['image'] = array( '#type' => 'managed_file', …
11 8 

1
การรวบรวมฟิลด์เทียบกับย่อหน้า
ผมใช้การเก็บฟิลด์ในเว็บไซต์ก่อนหน้านี้ของฉันและฉันต้องเผชิญกับปัญหาประสิทธิภาพการทำงานบางอย่างดังนั้นเวลานี้ผมกำลังมองหาทางเลือกสำหรับการเก็บฟิลด์ ผมหาคำตอบทางเลือกที่จะเก็บฟิลด์ แต่ฉันไม่พบวิธีแก้ปัญหาเหล่านี้แตกต่างกันหรือคล้ายกันมากเป็นพิเศษ [การรวบรวมฟิลด์และย่อหน้า ] บางทีใครบางคนสามารถช่วยอธิบายได้? เพื่อให้ฉันสามารถตัดสินใจได้ดี

2
การส่งออกฟิลด์สำหรับประเภทเนื้อหา
คุณสมบัติการส่งออกการกำหนดค่าของ Drupal 8 ดูเหมือนจะเป็นคุณสมบัติที่มีประโยชน์มาก อย่างไรก็ตามฉันไม่แน่ใจว่าฉันเข้าใจการทำงานของมันอย่างไร ตัวอย่างเช่นหากฉันทำการส่งออกครั้งเดียวให้เลือก "ประเภทเนื้อหา" จากนั้นเลือกประเภทเนื้อหาประเภทใดประเภทหนึ่งฉันคาดว่าการส่งออกจะมีคำอธิบายแบบเต็มของประเภทเนื้อหานั้น แต่ไม่มีข้อมูลใด ๆ เกี่ยวกับฟิลด์ในประเภทเนื้อหานั้น ดังนั้นหากคุณต้องการส่งออกการกำหนดค่าประเภทเนื้อหาสำหรับใช้ในเว็บไซต์อื่นดูเหมือนจะเป็นไปไม่ได้ที่จะทำเช่นนั้น ฉันไม่แน่ใจว่าฉันเข้าใจการใช้งานการส่งออกแบบครั้งเดียวหากพวกเขาไม่มีข้อมูลที่จำเป็นทั้งหมดสำหรับเอนทิตี ฉันพลาดอะไรไปรึเปล่า?

1
อะไรคือความแตกต่างระหว่าง {{| t}} และ {% trans%}
ฉันสังเกตเห็นว่า Drupal 8 รองรับ{% trans %}ซึ่งตามเอกสาร Symfony ( ส่วนขยาย i18n ) เพิ่มการสนับสนุน gettext ให้กับ Twig {{ |t }}เท่าที่ฉันรู้เป็นวิธีดั้งเดิมในการเพิ่มสตริงที่แปลได้ในเทมเพลต Drupal อ้างอิงถึงเอกสาร , t()แปลสตริงภาษาปัจจุบันหรือภาษาที่กำหนด ทั้งรองรับเว็บไซต์หลายภาษา ส่วนขยายเหล่านั้นแตกต่างกันอย่างไร เมื่อใดที่ฉันควรใช้อันใดอันหนึ่งอีกอันหนึ่ง?
11 theming  8  i18n-l10n 


3
REST GET โดยไม่มีการแคช
การใช้คำสั่งของ Drupal Console บทช่วยสอนนี้drupal gprrฉันได้สร้างทรัพยากร REST แบบกำหนดเองใน Drupal 8 ฉันสามารถใช้ทรัพยากรนี้เพื่อดึงข้อมูลวัตถุ JSON แบบง่ายที่กล่าวสวัสดีกับผู้ใช้ปัจจุบันโดยทำ GET บน: http://localhost/example/hello?_format=json JSON กลับมาแล้วมีลักษณะเช่นนี้: { "hello": "tyler" } สิ่งนี้เป็นสิ่งที่คาดหวังเมื่อฉันเข้าสู่ระบบ แต่เมื่อฉันออกจากระบบและทำ GET อื่นบนทรัพยากรผลลัพธ์ที่เหมือนกันจะถูกส่งคืน : { "hello": "tyler" } การล้างแคชแบบเต็ม Drupal ช่วยแก้ไขปัญหานี้ได้ แต่ฉันต้องการปิดใช้งานการแคชกับทรัพยากรนี้เป็นพิเศษ ฉันจะทำสิ่งนั้นได้อย่างไร ฉันคิดว่าการเพิ่มการประทับเวลาลงในสตริงการสืบค้นจะได้ผล: http://localhost/example/hello?_format=json&time=123456789 แต่นั่นก็ส่งกลับผลลัพธ์เดียวกันแน่นอนไม่ว่าค่าการประทับเวลาใดในสตริงการสืบค้น สำหรับความกะทัดรัดนี่เป็นรหัสโครงกระดูกสำหรับการสร้างทรัพยากร GET: class ExampleHello extends ResourceBase { /** * {@inheritdoc} */ public …
11 8 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.