Drupal

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


2
วิธีการหลีกเลี่ยง node_access เมื่อใช้ EntityFieldQuery
ด้วยรหัสต่อไปนี้หากผู้ใช้ปัจจุบันไม่มี 'บายพาสการเข้าถึงโหนด' (ดู_node_query_node_access_alter ()สำหรับการตรวจสอบที่แน่นอน) ดังนั้นแบบสอบถามจะตรวจสอบ node_access แม้ว่าฉันจะไม่ใช้แท็ก "node_access" ฉันจะหลีกเลี่ยงการตรวจสอบ node_access ด้วยแบบสอบถามต่อไปนี้สำหรับผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบได้อย่างไร ฉันกำลังใช้รหัสนี้จากโมดูลดังนั้นฉันจึงสามารถตรวจสอบการอนุญาตได้ด้วยตนเองโดยไม่จำเป็นต้องตรวจสอบ node_access $query = new EntityFieldQuery; $result = $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'foo') ->fieldCondition('custom_id', 'value', $custom_id) ->execute();
12 7  entities  users 

8
วิธีการจัดรูปแบบมุมมองที่เปิดเผย?
ฉันได้สร้างมุมมองที่มีตัวกรองที่เปิดเผยจำนวนหนึ่ง แต่มันดูน่าเกลียดทีเดียว ฉันต้องการปรับปรุงชุดรูปแบบรวมถึงการตัดทั้งชุดในชุดฟิลด์รวมถึงการจัดกลุ่มองค์ประกอบอื่น ๆ (เช่นจับคู่ข้อมูลที่เผยแพร่และอัปเดตแล้ว) แต่ไม่แน่ใจว่าจะทำอย่างไร ฉันพยายามที่จะ var_dump ฟอร์ม แต่ดูเหมือนว่าจะดำเนินต่อไปตลอดกาลและเบราว์เซอร์ของฉันล็อคดังนั้นฉันจึงไม่สามารถเรียนรู้อะไรเกี่ยวกับแบบฟอร์มนั้นได้อย่างง่ายดาย ฉันยังพยายามวางฟอร์มเป็นเด็ก fieldset ในอีกรูปแบบ แต่รับข้อมูล ID ของฟอร์มทั้งหมดและอื่น ๆ ที่พิสูจน์แล้วว่าเป็นปัญหา (แม้ว่าฉันได้รับการจัดแต่งทรงผม fieldset) ใครมีพอยน์เตอร์บ้าง? ปรับปรุง: ฉันคัดลอกทับเทมเพลตจากโมดูลไปยังไดเรกทอรีธีมของเว็บไซต์และเริ่มต้น <fieldset> <legend>Filters</legend> <div class="views-exposed-form"> <div class="views-exposed-widgets clear-block"> <?php foreach($widgets as $id => $widget): ?> <div class="views-exposed-widget"> <?php if (!empty($widget->label)): ?> <label for="<?php print $widget->id; ?>"> <?php print …
12 views  6  theming 

2
วิธีรับ url ของฟิลด์ไฟล์ของโหนดที่ระบุ?
$node->field_fileให้ฉันFileFieldItemListขณะที่รายการแรกดูเหมือนว่าจะเป็นFileItem $node->field_file->getValue()ให้ฉันเต็ม (ฉันเดารหัสไฟล์) ฉันจะได้รับไฟล์ uri ที่สามารถดาวน์โหลดได้จากนั้นอย่างไร
12 8  nodes  files 

5
วิธีการแสดงรายชื่อผู้ใช้ทั้งหมดใน drush?
drushผมอยากจะแสดงรายการข้อมูลเกี่ยวกับผู้ใช้ทุกคนใช้ มีuser-informationแต่มันจะแสดงข้อมูลเกี่ยวกับผู้ใช้คนเดียวเท่านั้น มีวิธีแก้ไขปัญหาอื่น ๆ อีกไหม?
12 7  users  6  drush 

2
วิธีการตั้งค่าและรับคุกกี้
หลังจากผ่านไปหลายวันและหลายชั่วโมงฉันพบปัญหาและแพทช์เกี่ยวกับสิ่งที่ต้องทำเมื่อมีการตั้งค่าคุกกี้ แต่ไม่มีใครพูดถึงวิธีที่คุณได้รับชุดคุกกี้ตั้งแต่แรก ความตั้งใจของเราคือการตั้งค่าคุกกี้ (เซสชัน) ของหน้า Landing Page (สำหรับบทบาทผู้ใช้ทั้งหมด) และเรียกใช้คุกกี้นั้นในบางหน้าผ่านมุมมองเพื่อใช้ใน URL ของลิงก์ขาออก นี่จะง่ายมากในการเขียนโปรแกรมมาตรฐาน (แม้ฉันจะเข้าใจ) แต่ฉันเริ่มสงสัยอย่างมากว่าสิ่งนี้เป็นไปได้จริงใน Drupal
12 sessions 

1
โหลดเอนทิตีไฟล์โดย URI
มีวิธีโหลดไฟล์โดย URI ใน Drupal 8 หรือ Drupal 9 หรือไม่? ใน Drupal 7 เป็นไปได้โดยตัวอย่างถัดไป: $uri = 'public://file.xyz'; // Take a look at: file.inc::file_load_multiple $files = file_load_multiple(array(), array('uri' => $uri)); $file = reset($files); // If empty, $file will be false, otherwise will contain the required file นำมาจากที่นี่https://www.drupal.org/forum/support/module-development-and-code-questions/2012-06-06/load-a-file-by-uri#comment-6493610
12 8  entities  files  uri 

4
ฉันจะตั้งค่า CORS ได้อย่างไร
Drupal 8 มีบริการเว็บสงบในการสร้างขึ้นในหลักและตั้งแต่ 8.2 เราไม่จำเป็นต้องโมดูลล ธ ตอนนี้เพื่อใช้บริการเราเพิ่งเปิดใช้งานและกำหนดค่าไฟล์ default.service.yml ตามที่ระบุไว้ที่นี่ อย่างไรก็ตามฉันไม่สามารถกำหนดค่าการตั้งค่านี้เพื่ออนุญาตการเข้าถึงบริการเว็บผ่านโดเมนอื่น การตั้งค่า service.yml ปัจจุบันของฉันสำหรับ cors คือ: cors.config: enabled: true # Specify allowed headers, like 'x-allowed-header'. allowedHeaders: ['x-csrf-token,authorization,content-type,accept,origin,x-requested-with'] # Specify allowed request methods, specify ['*'] to allow all possible ones. allowedMethods: ['POST, GET, OPTIONS, DELETE, PUT'] # Configure requests allowed from specific …


5
ฉันจะติดตั้งโมดูลอีกครั้งได้อย่างไร
ฉันกำลังสร้างในโมดูล Drupal 8 ฉันใช้ตารางที่กำหนดเองเพื่อเก็บข้อมูลที่รวบรวมจากแบบฟอร์ม อย่างใดในระหว่างการติดตั้งตารางจะไม่ถูกสร้างขึ้นเนื่องจากปัญหาในไฟล์ติดตั้ง ตอนนี้ฉันได้แก้ไขปัญหาแล้วและฉันต้องการติดตั้งโมดูลอีกครั้ง ฉันจะติดตั้งโมดูลอีกครั้งได้อย่างไร จากสิ่งนี้และการสนทนานี้ฉันรู้ว่าฟังก์ชั่นปิดการใช้งานโมดูลได้ถูกลบออก มีวิธีอื่นในการติดตั้งโมดูลอีกครั้งเพื่อสร้างตารางฐานข้อมูลหรือไม่
12 8 

2
โฟลเดอร์ย่อยและวิธีการเรียน namespace
ใน Drupal 7 ฉันสามารถมีโมดูลในโมดูลอื่นได้ นี่เป็นกรณีใน Drupal 8 และฉันจะกำหนดชื่อคลาสในโมดูลย่อยได้อย่างไร อีกสิ่งหนึ่งที่ฉันสามารถทำได้ใน Drupal 7 คือการสร้างโฟลเดอร์ย่อยภายในโฟลเดอร์โมดูลเพื่อจัดกลุ่มโมดูลของฉัน ตัวอย่าง: sites --- / all --- / --- / modules --- / --- / --- / Collection_Alpha --- / --- / --- / --- / module_a --- / - - / --- / --- / module_b --- / …
11 8 

4
ข้อผิดพลาดในการติดตั้ง Linux Drush: ค่าคงที่คลาสที่ไม่ได้กำหนด 'MYSQL_ATTR_SSL_CA' ใน phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, บรรทัด 56
ฉันลองติดตั้ง Drush ด้วยวิธีทั้งสองที่ระบุไว้ในเอกสารคู่มือ drush.org ฉันคิดว่าพวกเขาอาจขัดแย้งกันถ้าเป็นไปได้ เมื่อฉันเรียกใช้composer global require drush/drushส่วนประกอบทั้งหมดจะปรากฏขึ้นเพื่อติดตั้งอย่างถูกต้อง อย่างไรก็ตามเมื่อฉันเปลี่ยนเป็นเว็บไซต์ Drupal (ใช้ XAMPP, / opt / lampp / htdocs / sitefolder) และเรียกใช้drush statusฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาดร้ายแรงของ PHP: ค่าคงที่คลาสที่ไม่ได้กำหนด 'MYSQL_ATTR_SSL_CA' ใน phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php ในบรรทัดที่ 56 คำสั่ง Drush ถูกยกเลิกอย่างผิดปกติเนื่องจากข้อผิดพลาดที่ไม่สามารถกู้คืนได้ [ข้อผิดพลาด] ข้อผิดพลาด: ค่าคงที่คลาสที่ไม่ได้กำหนด 'MYSQL_ATTR_SSL_CA' ใน phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php บรรทัด 56 ฉันมีบรรทัดต่อไปนี้ใน ~ / .bashrc ของฉัน: export …
11 drush 

4
drupal_goto (request_uri ()) แทนที่ my '?', '=' และ '&' ใน url
ฉันต้องเปลี่ยนเส้นทางผู้ใช้จากหน้าเว็บที่มี example.com/node/add/dispo?arg1=1&arg2=2 เป็น URL ประเภทเดียวกัน แต่เมื่อฉันทำdrupal_goto(request_uri());มันมันเปลี่ยนเส้นทางผู้ใช้ของฉันไปที่ example.com/node/add/dispo%25F%3C ฯลฯ .... ฉันลอง str_replace แต่ใช้งานไม่ได้ คุณมีวิธีแก้ปัญหาหรือไม่?
11 7  uri  views 

4
ฉันจะเข้าถึงค่าฟิลด์ในตัวแปร $ row ในเทมเพลตชุดรูปแบบมุมมองฟิลด์ได้อย่างไร
ฉันลบล้างเทมเพลตฟิลด์สำหรับมุมมองของฉันและฉันต้องการเข้าถึงค่าฟิลด์อื่นจากตัวแปร $ row เอกสารในไฟล์เทมเพลตแสดงสิ่งนี้: เมื่อดึงผลลัพธ์จากแถว $ ควรใช้โครงสร้างนี้: $ data = $ row -> {$ field-> field_alias} เขตข้อมูลของฉันถูกเรียกว่า field_calendar_title แต่สิ่งต่อไปนี้ใช้ไม่ได้ตามที่คาดไว้: $row->{$field->field_calendar_title} ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาดร้ายแรง: ไม่สามารถเข้าถึงคุณสมบัติที่ว่างเปล่า ... ฟิลด์ "นามแฝง" แตกต่างจากชื่อของฟิลด์ในประเภทเนื้อหาหรือไม่ เอาต์พุต "ล้างแล้ว" จาก var_dump ของ $ row: stdClass Object ( [node_title] => ... [nid] => 568 [field_data_field_performance_date_delta] => 0 [field_data_field_performance_date_language] => und [field_data_field_performance_date_bundle] …
11 7  views 

9
Cron หยุดทำงาน บันทึกบอกว่า: "ความพยายามที่จะเรียกใช้ cron อีกครั้งในขณะที่มันกำลังทำงานอยู่"
ขั้นตอนในการแก้ไขปัญหาและแก้ไขปัญหานี้ตามชื่อเรื่องคืออะไร เมื่อฉันพยายามเรียกใช้ด้วยตนเองฉันจะได้รับหน้าทันทีและข้อความแสดงข้อผิดพลาด "พยายามเรียกใช้ cron อีกครั้งในขณะที่ทำงานอยู่"
11 7  cron 

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