Drupal

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

7
ทำไม 'GROUP BY` ใน hook_views_query_alter () ไม่ทำงาน
ฉันใช้ Views 7.x-3.6 และฉันพยายามแก้ไขGROUP BYclause ด้วยhook_views_query_alter()ดังนี้: function mymodule_views_query_alter(&$view, &$query) { if ($view->name == "view_name"){ $query->add_groupby('field_name'); dpm($query); } } เมื่อฉันมองใน$query, ข้อถูกเปิดใช้งานได้อย่างถูกต้องแต่แบบสอบถาม SQL ไม่ได้รับผลกระทบคือประโยคไม่ปรากฏ:groupbyGROUP BY ในที่สุดสิ่งที่ฉันทำคือการใช้ Drupal core hook ( hook_query_alter()) และทำงานได้ดี: SQL ได้รับผลกระทบแล้ว function mymodule_query_alter(QueryAlterableInterface $query) { $view_name = 'view_name'; if ($query->hasTag('views_' . $view_name)) { $query->groupBy('field_name'); } } ทำไมฉันถึงhook_views_query_alter()ไม่ทำงาน? ฉันสงสัยว่ามีวิธีที่สะอาดกว่าในการทำและ
11 7  database  views 

1
ฉันจะทำ git clone ด้วย drush เพื่อดาวน์โหลดรุ่น HEAD ของโมดูลได้อย่างไร
มีวิธีการโคลนหรือดึงโมดูล HEAD ของโมดูลในที่เก็บ git drupal.org หรือไม่? ตัวอย่างเช่นถ้าฉันใช้ Drupal 7 และสาขาสุดท้ายของ Views คือ 3 ฉันต้องการทำ: drush git-clone views เพื่อให้บรรลุสิ่งที่เทียบเท่ากับ: cd sites/all/modules/ git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git เป็นการดีที่การใช้drush git-clone views-3xควรโคลนสาขา 3.x อย่างชัดเจน เป็นไปได้หรือฉันกำลังฝัน? มันจะมีประโยชน์มากสำหรับการพัฒนา

1
ใช้มุมมองเพื่อแสดงคำศัพท์ย่อย taxonomy จากพาเรนต์
ฉันหวังว่าอาจจะมีวิธีแก้ปัญหานี้ แต่ฉันไม่มีความหวังมากเกินไปหลังจากค้นหากลุ่ม ขณะนี้ฉันมีบทความบางส่วนที่มีคำที่เกี่ยวข้องกับพวกเขาและข้อกำหนดเหล่านี้อยู่ในระดับลึก 2-3 ระดับ ตัวอย่างเช่นฉันอาจมี 10 บทความที่มีคำว่า 'สีเขียว' -Fruit --Apple ---Green ---Red จากนั้นฉันต้องการให้ผู้ใช้สามารถดูวิดีโอทั้งหมดที่เกี่ยวข้องกับคำศัพท์เฉพาะทางภาษีรวมถึงเด็ก ๆ ทุกคน ดังนั้นหากผู้ใช้ไป www.site.com/fruit/apple แล้วทั้งหมดของแอปเปิ้ลจะแสดง (ทั้งสีแดงและสีเขียว) นี่คือปัญหา ฉันสามารถทำให้มันทำงานได้เฉพาะเมื่อฉันกำหนดบทความสำหรับผู้ปกครองทุกคำที่นำไปสู่คำที่เป็นลูก แต่น่าเสียดายที่วิธีการสร้างเว็บไซต์ของฉันฉันสามารถมีได้เพื่อให้บทความของฉันมีคำที่ลึกที่สุดที่เกี่ยวข้อง ไม่มีใครรู้ว่าเป็นไปได้ที่จะสร้างมุมมองที่จะดูเด็กทุกคำและรวมไว้ในมุมมองหรือไม่ ฉันหวังว่าฉันจะอธิบายอย่างถูกต้อง :) อดีต ผู้ใช้ไปที่ www.site.com/fruit/apple จากนั้นพวกเขาจะได้รับบทความทั้งหมดที่ติดแท็กด้วย 'สีเขียว' และเฉพาะที่มี 'สีแดง' ขอบคุณเพื่อน! PS ฉันมีการเลือกลำดับชั้นติดตั้งไว้ แต่นั่นไม่ได้ช่วยฉันเพราะฉันไม่สามารถกำหนดเงื่อนไขหลักให้กับบทความของฉันได้ ดังนั้นมันจะไม่ทำงาน

6
วิธีแสดงสรุป (ทีเซอร์) เหนือเนื้อหาในมุมมองเนื้อหาแบบเต็ม
ฉันต้องการแสดงทีเซอร์ที่ด้านบนของแต่ละบทความภายใต้ชื่อเรื่องดังต่อไปนี้ในโครงร่าง“ เนื้อหาเต็ม”: หัวข้อ ทีเซอร์ (สรุปบทความ) ภาพ ร่างกาย นอกจากนี้ทีเซอร์ควรมีการจัดรูปแบบของตัวเอง (เช่นตัวเอียงและแบบอักษรขนาดใหญ่) ฉันไม่พบวิธีการใด ๆ โดยไม่ต้องแก้ไขไฟล์ tpl หรือไฟล์หลัก วิธีแก้ไขคือเพิ่มฟิลด์ "article_teaser" ใหม่ให้กับประเภทเนื้อหาของฉันจากนั้นจัดการจอแสดงผลเพื่อรับเลย์เอาต์ของฉันในมุมมอง“ เนื้อหาเต็ม” ใช้งานได้ แต่ฉันไม่ต้องการมีสองทีเซอร์ฟิลด์ในแบบฟอร์มเนื้อหาอินพุตของฉันเพราะฉันควรพิมพ์ข้อความเดียวกันสองครั้ง ดูเหมือนว่าฉันไม่สามารถแยกส่วนเนื้อหาในส่วน "ข้อความ" และ "สรุป" ของมันได้ แต่ฉันสามารถแสดงหนึ่งหรืออื่น ๆ แต่ไม่ใช่ทั้งสองอย่าง! มีวิธีใดบ้างที่จะทำเช่นนั้น? (สภาพแวดล้อมของฉัน: Drupal 7 พร้อมธีมย่อย Zen)
11 7  nodes  entities 

4
ไม่มีลิงก์การนำทางในหน้า 404
เมื่อฉันเข้าชมหน้าเว็บที่ไม่มีอยู่ฉันคาดหวังว่าจะเห็นลิงก์หลักและลิงค์รองเหมือนกับในหน้าอื่น ๆ แต่สิ่งที่ฉันได้รับคือไม่มีลิงก์การนำทางในหน้า 404 ดูยังไม่มีการเชื่อมโยงระบบนำทางบนหน้า 404 ฉันพบวิธีแก้ไขปัญหา แต่ฉันมีความสุขถ้ามีสิ่งอื่นที่สามารถแก้ไขปัญหานี้ได้
11 7  navigation 

6
รับค่าของฟิลด์จากเอนทิตี
สิ่งที่ฉันติดตั้งบนไซต์ของฉันคือโมดูล Entity API และ Entityform โมดูล Entityform ช่วยให้ฉันสามารถสร้างฟอร์มที่ผู้ใช้สามารถส่งและเขตข้อมูลฟอร์มพร้อมให้ฉันใช้ในมุมมองคล้ายกับประเภทเนื้อหาที่จะทำงาน โดยปกติแล้วจะดึงค่าของเขตข้อมูลจากโหนดไปยังแม่แบบของฉันด้วย php ฉันจะทำต่อไปนี้: <?php echo $node->field_name[$node->language][0]['value']; ?> อย่างไรก็ตามสิ่งนี้ไม่ทำงานกับเอนทิตี / เอนทิตี ไม่มีใครรู้วิธีการทำเช่นนี้สำหรับเขตข้อมูลภายในเอนทิตี้ของ? บางคนแนะนำให้ใช้ฟังก์ชั่น devel และ dpm () แต่ฉันก็ไม่รู้ว่าจะใช้มันอย่างไร ตัวอย่างเฉพาะบางประการเกี่ยวกับวิธีที่ฉันสามารถรับค่าของฟิลด์นี้จะช่วยฉันได้มากจริงๆ
11 7  entities 

8
นามแฝงเส้นทางสร้างวนรอบการเปลี่ยนเส้นทางหรือเปลี่ยนเส้นทางไปยังหน้าแรก
เมื่อฉันโทร "www.example.com/contact-us" ของเราฉันได้รับข้อผิดพลาดต่อไปนี้: อ๊ะดูเหมือนคำขอนี้พยายามสร้างการวนซ้ำไม่สิ้นสุด เราไม่อนุญาตสิ่งต่าง ๆ ที่นี่ เราเป็นเว็บไซต์มืออาชีพ! ถ้าฉันโทรไปที่ไซต์ด้วย "www.example.com/node/5" หน้าการติดต่อจะแสดงผลได้ดี เมื่อฉันตรวจสอบนามแฝงเส้นทางบน / admin / config / search / path / edit / 6, เส้นทางของระบบและชื่อแทนถูกตั้งค่าอย่างถูกต้อง มีปัญหาอื่นเกิดขึ้นสำหรับชื่อแทนอื่นเมื่อฉันเรียกว่า "www.example.com/staff" ฉันจะถูกเปลี่ยนเส้นทางไปยังหน้า Landing Page "www.example.com" ตั้งชื่อแทนอีกครั้งอย่างถูกต้อง เรากำลังใช้ Drupal 7 และโมดูล i18n_redirect และ redirect

2
ต้องสร้างตารางใหม่ใน hook_update_N () หรือไม่
เมื่อคุณสร้างตารางใหม่hook_schema()ควรเพิ่มตารางนั้นhook_update_N()ด้วยหรือไม่ หรือมีเคล็ดลับหรือสิ่งที่ฉันพลาดเพื่อให้ databae-updates เพิ่มตารางโดยอัตโนมัติ เอกสารประกอบของ hook_update_N () ไม่ได้อธิบายอะไรเกี่ยวกับการแนะนำตารางใหม่ในขณะที่เอกสารของhook_schema() says: ตารางที่ประกาศโดย hook นี้จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อเปิดใช้งานโมดูลเป็นครั้งแรกและจะถูกลบออกเมื่อถอนการติดตั้งโมดูล (ไฮไลท์เป็นของฉัน) และถ้าเป็นเช่นนั้นวิธีที่ดีที่สุดในการหลีกเลี่ยงการทำซ้ำคำจำกัดความสคีมาสำหรับตารางใหม่ในทั้ง hook_update_N () และ hook_schema () เพียงอ้างถึงสคีมาดังต่อไปนี้: function hook_update_N(&$sandbox) { $schema = hook_schema(); $name = "foo"; $table = $schema["foo"]; db_create_table($name, $table); } ดูเหมือนว่าจะทำงาน แต่ในการเปลี่ยนตารางอีกครั้งจะล้มเหลวหากผู้ใช้เรียกใช้การปรับปรุงและได้รับการทำงานอย่างน้อยสอง hook_update_N () s หลังจากทั้งหมด: hook_update_N แรกจะติดตั้งฐานข้อมูลที่ถูกต้องแล้วและ hook_update_M ตัวที่สอง () จะพยายามเพิ่ม / เปลี่ยน / …

3
ฉันจะสร้างข้อมูล JSON ด้วยข้อมูลเซสชันเพื่อสร้างโหนดได้อย่างไร
ฉันกำลังใช้ Drupal 7 และโมดูลบริการ 7.x-3.2 ฉันใช้บุรุษไปรษณีย์สำหรับ Chrome (ไคลเอนต์ http) เพื่อทดสอบ API สิ่งที่ฉันต้องการทำคือล็อกอินเข้าสู่ผู้ใช้และสร้างโหนดที่มีผู้ใช้โดยใช้ Drupal service API ฉันเข้าสู่ระบบของผู้ใช้ที่มีการร้องขอ JSON POST ไปยังhttp://example.com/api/user/login ฉันได้รับผลลัพธ์ JSON สำเร็จ { "sessid": "KrZjlcY3rFr8v6iLoskcVQN9DmDWsg5yZqIjBeydEBY", "session_name": "SESS9fe39db36ccd7afd64e034fefa0129e1", "user": { "uid": "31", "name": "test_user", "mail": "services_user_2@example.com", "theme": "", "signature": "", "signature_format": "filtered_html", "created": "1352985941", "access": "1352991170", "login": 1352991510, "status": "1", "timezone": …
11 7  services 

4
เพิ่มขีด จำกัด หน่วยความจำไม่ได้ช่วยในข้อผิดพลาดร้ายแรง: ขนาดหน่วยความจำที่อนุญาตของ… / modules / views / views.module ที่บรรทัด 416
ฉันได้เปลี่ยนจาก Drupal 7.14-7.15 สามสัปดาห์ที่ผ่านมาและดังนั้นฉันเผชิญหน้ากับชุดของความซับซ้อนมาก (สำหรับผม) กข้อผิดพลาด จำกัด หน่วยความจำ ข้อผิดพลาดเหล่านั้นเกิดขึ้นทุกครั้งที่ฉันพยายามล้างแคชในประสิทธิภาพหรือเรียกใช้สคริปต์การปรับปรุง บริษัท โฮสติ้งของฉันได้เพิ่มขีด จำกัด หน่วยความจำใน php.ini เป็น 126 M, 256 M, 512 M และแม้แต่ 1024 M แต่ข้อผิดพลาดยังคงเกิดขึ้น ฉันย้ายไซต์ของฉันจากการแชร์ไปยัง VPS แล้ว แต่ข้อผิดพลาดยังคงเกิดขึ้นอย่างไม่น่าเชื่อ ฉันไม่มีทางและไม่รู้จะก้าวไปข้างหน้าอย่างไร นี่คือข้อผิดพลาด: ข้อผิดพลาดร้ายแรง: ขนาดหน่วยความจำที่อนุญาต 536870912 ไบต์หมดลง (พยายามจัดสรร 30 ไบต์) ใน /home/example/public_html/sites/all/modules/views/views.module ที่บรรทัด 416 ข้อผิดพลาดร้ายแรง: ขนาดหน่วยความจำที่อนุญาต 536870912 ไบต์หมดลง (พยายามจัดสรร 108 ไบต์) ใน …
11 views  routes 

1
ทุกอย่างต้องการมัดหรือไม่
ฉันเรียนรู้เกี่ยวกับ Entity API ฉันมีตารางพิเศษง่ายๆที่ฉันต้องการ "ลดระดับความสามารถ" เพื่อให้ฉันสามารถใช้ใน Views ได้เช่น ฉันได้อ่านหนังสือไปดูวิดีโอดูตัวอย่างเล็ก ๆ น้อย ๆ ฉันติดอยู่บนแนวคิดของการรวมกลุ่ม ฉันเข้าใจว่าบันเดิลคืออะไร (เช่นประเภทโหนดคือบันเดิลของเอนทิตีโหนด) แต่สำหรับการใช้งานของฉันจะมีเพียงชุดเดียวเท่านั้น ในตัวอย่างที่ฉันเคยเห็นบันเดิลจะถูกเก็บไว้ในตารางฐานข้อมูล นี่ไม่จำเป็นสำหรับฉันเพราะมันจะเป็นค่าเดียวกันที่เก็บไว้กับทุกเรคคอร์ด ดังนั้นฉันคิดว่าฉันสามารถข้ามสิ่งนี้ได้หรือให้เอนทิตีของฉันคืนสตริงมาตรฐานสำหรับบันเดิล ฉันเข้าใจผิดหรือเปล่า? บันเดิลต้องถูกนำมาใช้เสมอและนำไปใช้ที่ระดับตารางฐานข้อมูลหรือไม่?
11 7  entities 

6
ฉันจะส่งตัวกรองเชิงบริบทไปยังมุมมองผ่านบริการได้อย่างไร
ฉันมีมุมมองที่ยอมรับตัวกรองเชิงบริบทเพื่อส่งคืนผลลัพธ์ที่ถูกต้อง ฉันใช้บริการ 3 และ Drupal 7 ฉันสามารถสร้างจุดปลายและดึงข้อมูลมุมมองผ่านบริการ แต่ดูเหมือนว่าไม่มีทางที่จะผ่านตัวกรองเชิงบริบทเนื่องจาก services_views มีเพียงวิธีการดึงข้อมูล (ซึ่งใช้ GET) ไม่มีใครรู้ว่าสิ่งนี้เป็นไปได้และถ้าเป็นเช่นนั้นสามารถทำได้?
11 7  views  services 

2
เหตุผลที่อยู่เบื้องหลังโครงสร้างเมนูปัจจุบันคืออะไร
ฉันไม่ได้เป็น Drupal Ninja มากนัก จากสิ่งที่ผมเห็นที่http://drupal.org/node/788972 , Drupal ดูเหมือนว่าจะมีโครงสร้างเมนูเช่น Joomla ในแง่ที่ว่ามันช่วยให้รายการเมนูที่จะสร้างขึ้นภายใต้หมวดหมู่เมนู เหตุใดเราจึงใช้สิ่งนี้ไม่เหมือนกับส่วนรายการเมนูกลางซึ่งเราสามารถเชื่อมโยงรายการไปยังหลายเมนูได้ถ้าต้องการ นี่คือสิ่งที่ฉันเห็นใน Wordpress ในวิธีหลังฉันสามารถเห็นความซ้ำซ้อนลดลงและมีจุดเดียวในการเปลี่ยนแปลงการเชื่อมโยงเดียวกันหลายครั้ง ฉันต้องการเข้าใจตรรกะ / เหตุผลที่อยู่เบื้องหลังโครงสร้างเมนู Drupal ไม่เข้าใจว่า Drupal เปรียบเทียบกับ Joomla หรือ WordPress ได้อย่างไร

3
ประโยชน์ของแผงทุกที่คืออะไร
เว็บไซต์หลายแห่งสนับสนุนผลประโยชน์ของการติดตั้งทุกหนทุกแห่ง (ฉันวางไว้ตอนท้ายของคำถามนี้) อย่างไรก็ตามฉันได้ทดลองใช้งานโมดูลและไม่เห็นประโยชน์ หน้าพาเนลปกติให้คุณเลือกปิดการใช้งานบล็อก นอกจากนี้ยังช่วยให้คุณแสดงสิ่งต่าง ๆ เช่นลิงค์เมนูส่วนท้ายและชื่อผู้ใช้ ดังนั้นฉันไม่แน่ใจว่าพาเนลทุกที่นำมาจากไหน ฉันไม่เคยเห็นประโยชน์ของ Panelsแต่ Drupal Answers ทำให้ฉันรู้แจ้งและตอนนี้ฉันจะไม่ฝันที่จะสร้างเว็บไซต์ Druapl โดยปราศจากมันดังนั้นฉันหวังว่ามันจะทำให้เข้าใจถึงประโยชน์ของ Panels ทุกที่) ไซต์ที่สนับสนุนการติดตั้งทุกที่ AWebFactory เธรด Druapl Lullabot
11 7  theming  panels 

3
เพจการดูไม่แสดงเพจเจอร์
ฉันมีเพจวิวที่แสดงทีเซอร์บทความ มีบทความจำนวนมากใน db และฉันแสดงเพียง 5 รายการต่อหนึ่งหน้าในมุมมอง แต่เพจเจอร์ไม่ปรากฏขึ้นเลย นี่คือการกำหนดค่า Views ของฉันฉันกำลังทำอะไรผิดหรือเปล่า? มีข้อบกพร่องหรือไม่? ตัวอย่างในหน้าจอ Views จะไม่แสดงเพจเจอร์ที่ด้านล่างของทีเซอร์เนื้อหาและจะไม่แสดงบนหน้าจริง ความคิดใด ๆ
11 7  views  paging 

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