คำถามติดแท็ก routes

การใช้คำที่แนะนำใน Drupal 8 เส้นทางคือเส้นทางที่โมดูลตอบสนอง

4
ชุดเมนูขั้นสูงใน Drupal 7
ฉันได้ทำการท่องเว็บแล้วและมันก็ไม่ชัดเจนว่าจะสร้างธีมเมนูที่กำหนดเองได้อย่างไร ฉันค้นหาเป็นเวลาหลายชั่วโมงและไม่พบโพสต์เดียวที่แสดงกระบวนการตั้งแต่ต้นจนจบการสร้างเมนูและปรับแต่งผลลัพธ์ของมัน ดูเหมือนว่านี่เป็นกระบวนการหลายขั้นตอน: สร้างเมนูผ่านอินเทอร์เฟซ Drupal สร้างฟังก์ชั่นชุดรูปแบบในtemplate.phpไฟล์ของคุณเพื่อจัดรูปแบบผลลัพธ์ แสดงเมนูนี้เป็นไฟล์เทมเพลต (อย่างใด) โดยเพิ่มเป็นตัวแปร เรียกใช้themeฟังก์ชันบนเมนูในไฟล์เทมเพลต 1 ก็พอง่ายที่จะทำปัญหาที่ผมวิ่งเข้ามาอยู่กับ 2, 3, และ 4 $main_menuมองไปที่แม่แบบหน้าเริ่มต้นผมเห็นว่ามันเสี่ยงเมนูหลักในตัวแปร หลังจากนั้นหน้าคุณสามารถเห็นฟังก์ชั่นtheme('links__system_main_menu', array('links' => $main_menu...ซึ่งหมายความว่ามันกำลังมองหาฟังก์ชั่นชุดรูปแบบที่มีชื่ออย่างเหมาะสมบางแห่งและใช้มันเพื่อสร้างผลลัพธ์ ฉันรู้ว่าถ้าผมวางfunction theme_links__system_main_menu(&$variables) {...}ในแฟ้มของฉัน template.php Drupal function theme_menu_links(&$variables) {...}จะใช้ฟังก์ชั่นที่ตรงข้ามกับ สิ่งที่ฉันไม่รู้คือวิธีที่ Drupal เชื่อมโยงเมนูที่กำหนดเองที่ฉันสร้างขึ้นด้วยฟังก์ชันนั้น พูด Let 's My Menuเช่นที่ฉันสร้างเมนูที่เรียกว่า ฉันสามารถสร้างฟังก์ชั่นต่อไปนี้ในtemplate.phpไฟล์ของฉันและจัดรูปแบบผลลัพธ์ของเมนูนั้นได้หรือไม่?function theme_links__system_my_menu(&$variables) {...} นอกจากนี้วิธีที่ทำให้เมนูกำหนดเองนั้นพร้อมใช้งานสำหรับไฟล์เทมเพลต Drupal เปิดเผย$main_menuตัวแปรให้กับ page.tpl.php อย่างไร ฉันคิดว่ากุญแจที่ฉันหายไปที่นี่คือวิธีฝังตัวแปรที่แสดงเมนูที่กำหนดเองลงในหน้าเทมเพลต ส่วนใหญ่แม้ว่าฉันจะสูญเสียอย่างสมบูรณ์กับสิ่งที่ต้องทำหลังจากสร้างเมนู ขอบคุณสำหรับความช่วยเหลือ แก้ไข:อาจจะโพสต์สิ่งที่ฉันทำ ตามความคิดเห็นของฉันไปยัง …
15 7  routes  theming 

3
ฉันจะเปลี่ยนเส้นทางที่กำหนดโดยโมดูลอื่นได้อย่างไร
กล่าวอีกนัยหนึ่ง Drupl 8 มีค่าเท่ากับhook_menu_alter ()คืออะไร Drupal 8 ยังคงใช้hook_menu ()แต่สำหรับสิ่งที่ฉันเห็นข้อมูลที่ส่งคืนโดย hook จะแตกต่างจาก hook ที่ส่งคืนใน Drupal 7 ตัวอย่างเช่นคำจำกัดความที่กำหนดในuser_menu ()สำหรับผู้ใช้มีดังต่อไปนี้ $items['user'] = array( 'title' => 'User account', 'title callback' => 'user_menu_title', 'weight' => -10, 'route_name' => 'user_page', 'menu_name' => 'account', ); คุณสมบัติ route_name เชื่อมโยงกับรายการในไฟล์user.routing.yml user_page: pattern: '/user' defaults: _content: '\Drupal\user\Controller\UserController::userPage' requirements: _access: 'TRUE' …
14 routes  8 

1
สร้างแท็บด้วย hook_menu () สำหรับโมดูลที่กำหนดเอง
ตั้งแต่สองชั่วโมงฉันพยายามสร้างแท็บในแบ็กเอนด์โมดูลที่กำหนดเองของฉัน ฉันได้ลองใช้คำแนะนำที่ตัดขาดแล้ว แต่ไม่สามารถทำให้คนใดคนหนึ่งทำงานได้ นี่คือ hook_menu ปัจจุบันของฉัน (): function social_links_menu() { $items['admin/config/system/social_links'] = array( 'title' => 'social_links', 'description' => 'Configure to fit clients needs', 'page callback' => 'drupal_get_form', 'page arguments' => array('social_links_settings'), 'access arguments' => array('administer site configuration'), 'file' => 'social_links.admin.inc', ); return $items; } ฉันต้องการเพียงสองแท็บที่เรียกว่า: 'tab1' และ 'tab2' บางคนสามารถให้ตัวอย่างการทำงานกับฉันได้ไหม มันควรจะง่ายจริงๆ …
14 7  routes 

5
วิธีแยกลำดับขั้นของอนุกรมวิธานใน pathauto ด้วยเครื่องหมายทับ
Pathautoดูเหมือนว่าจะมีวิธีที่แตกต่างจากลำดับชั้นของอนุกรมวิธานภาษี จากเมนู Taxonomy : มือสอง> รถยนต์> Aston Martin> DB9 Coupe แบ่งย่อย> งาน> การบัญชี สิ่งที่ฉันต้องการคืออะไรเช่นนี้สำหรับ url: คลาสสิฟายด์ / งาน / การบัญชี (ไม่ใช่การบัญชี - งาน - คลาสสิฟายด์) (โปรดทราบว่า Pathautho สร้างสิ่งนี้ด้วยเครื่องหมายขีดคั่นในลำดับย้อนกลับเช่นกัน) ใน Pathauto ฉันใช้รูปแบบนี้: Default path pattern(ใช้กับคำศัพท์ทั้งหมดที่มีรูปแบบว่างเปล่าด้านล่าง) [term:parents-all] สับสน.

2
หากทั้งสองโมดูลกำหนดเส้นทางเมนูเดียวกันใน 'hook_menu' Drupal อันใดจะเลือก
ยกตัวอย่างเช่น "moduleone" กำหนดเส้นทาง 'admin / สวัสดี' print_moduleone_stuff()ซึ่งเอาท์พุท /** * Implements hook_menu() */ function moduleone_menu() { $items['admin/hello'] = array( 'title' => 'Module One Hello World', 'page callback' => print_moduleone_stuff, ); return $items; } "moduletwo" กำหนดเส้นทาง 'admin / สวัสดี' print_moduletwo_stuff()ซึ่งเอาท์พุท /** * Implements hook_menu() */ function moduletwo_menu() { $items['admin/hello'] = array( 'title' …
14 7  routes  hooks 

6
ฉันจะใช้ชื่อแทน URL ในเมนูได้อย่างไร
ฉันกำลังเตะยางบน Drupal 7 โดยการหมุนไซต์ทดสอบ ฉันเลือกชุดรูปแบบ Danland และสร้างหน้าต่างๆพร้อม URL ชื่อแทนสำหรับแต่ละรายการ แต่เมื่อฉันสร้างลิงค์เมนูสำหรับแต่ละรายการฉันสามารถป้อนโหนดในฟิลด์ "เส้นทาง" สำหรับลิงก์เมนูเท่านั้นไม่ใช่นามแฝง ดังนั้นฉันสามารถป้อน "node / 20" และไม่ใช่ "about-us" (นามแฝงสำหรับโหนด) ในเมนู ฉันต้องการให้รายการเมนูเพื่อแก้ไขนามแฝงไม่ใช่โหนด ฉันจะทำอย่างไร
14 7  routes  path-aliases 

3
เปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุชื่อไปยังหน้าเข้าสู่ระบบ
ฉันต้องการถ้าผู้ใช้ไม่ได้เข้าสู่ระบบและเยี่ยมชมหน้าใด ๆ ของเว็บไซต์ของฉันยกเว้นเราเตอร์ REST VIEWSฉันเปลี่ยนเส้นทางเขา / เธอไปที่หน้าเข้าสู่ระบบใน drupal 8 ฉันพบโซลูชันนี้สำหรับ drupal 7 แต่ไม่พบโซลูชันใด ๆ สำหรับ Drupal 8 เปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุชื่อไปยังหน้าเข้าสู่ระบบ จะเปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุชื่อไปยังหน้าเข้าสู่ระบบโดยใช้โมดูลกฎได้อย่างไร

7
ฉันจะเรียกฟังก์ชัน menu_rebuild ใน Drupal 7 ได้อย่างไร
ฉันต้องการเรียกใช้ฟังก์ชัน menu_rebuild ()แต่ฉันไม่แน่ใจว่าวางโค้ดไว้ตรงไหน ฉันไม่พบไฟล์update.phpที่ใดก็ได้ในอินสแตนซ์ในพื้นที่ของฉัน เหตุผลที่ฉันต้องการลองทำเช่นนี้คือฉันลบโหนดทั้งหมด แต่พวกเขายังคงปรากฏภายใต้โครงสร้างเมนู
13 routes  updating 

6
วิธีการเปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุชื่อไปยังแบบฟอร์มการเข้าสู่ระบบหลังจากข้อผิดพลาด 403?
ฉันต้องการเปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุชื่อไปยังแบบฟอร์มการเข้าสู่ระบบหากผู้ใช้ดังกล่าวพบข้อผิดพลาด 403 ฉันได้สร้างผู้สมัครสมาชิกของเหตุการณ์และนี่คือรหัสของฉัน แต่ฉันจบลงด้วยการวนซ้ำในหน้าปัจจุบัน /** * Redirect anonymous user to login page if he encounters 404 or 403 * response. * * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $response * The created response object that will be returned. * @param string $event * The string representation of the event. * @param \Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $event_dispatcher * …
13 8  routes  redirection 

5
ฉันจะแทรกเมนู taxonomy เป็นเมนูย่อยของรายการเมนูมาตรฐานได้อย่างไร
ฉันมีเมนูหลักที่มีโครงสร้างระดับบนสุดคล้ายกับต่อไปนี้: Home - Categories - Something Else - ... - Contact ลิงก์ระดับบนสุดแต่ละลิงค์นั้นไปยังหน้าโหนดที่เหมาะสม ฉันมีคำศัพท์สำหรับหมวดหมู่ (หลายระดับ) และฉันต้องการคำศัพท์อนุกรมวิธานเหล่านั้นในเมนูย่อยภายใต้รายการ "หมวดหมู่" ฉันต้องการหลีกเลี่ยงการเข้ารหัสรายการลงในเมนูหลักเนื่องจากเมนูย่อยควรเติบโต / ย่อขนาดตามคำศัพท์ ในอดีตที่ผ่านมาฉันได้เขียนโค้ดที่ซับซ้อนเกินความจำเป็นเพื่อให้บรรลุสิ่งนี้ซึ่งเชื่อมโยงกับการดำเนินงานด้านอนุกรมวิธานและจัดการรายการย่อยของเมนูเฉพาะตามนั้น (คล้ายกับสิ่งที่Taxonomyทำ แต่ไม่มีเมนูที่แตกต่างกัน คำศัพท์). ในขณะที่วิธีการนี้ใช้งานได้มันไม่เหมาะและแน่นอนว่าไม่ใช่เรื่องทั่วไป ฉันไม่สามารถยกโค้ดนั้นจากโปรเจ็กต์เก่าไปยังโค้ดใหม่ได้มันต้องมีการปรับแต่งตามความเหมาะสม ฉันไม่สามารถรู้สึกได้ว่าจะต้องมี 'มาตรฐาน' โซลูชันที่ใช้โมดูลนี้ ฉันเคยเห็นคำแนะนำบางอย่างจากที่นั่นเพื่อใช้โมดูลที่แตกต่างกันรวมกัน ฉันเปิดให้ข้อเสนอแนะใด ๆ แต่ถ้ามันเกี่ยวข้องกับการติดตั้งมากกว่า 1 หรือ 2 โมดูลและโหลดของการกำหนดค่าฮาร์ดโค้ดกำหนดบริบทเฉพาะก็อาจจะไม่ช่วยมากเกินไปในกรณีนี้

1
ฉันสามารถเพิ่มลิงค์ที่กำหนดเองไปที่ "เมนูหลัก" ผ่าน hook_menu ได้หรือไม่?
ฉันกำลังพยายามเพิ่มลิงค์ใหม่ไปยังเมนูหลักจากภายในโมดูลของฉัน ปัจจุบันรหัสนี้: function custom_food_orders_menu() { $items['order_food'] = array( 'title' => 'Order Food', 'page callback' => 'page_creator_function', 'access callback' => TRUE, 'menu_name=' => 'main-menu', 'type' => MENU_NORMAL_ITEM, ); return $items; } ... เพิ่มลิงก์ 'สั่งอาหาร' ไปที่เมนู 'การนำทาง' ฉันลองตั้งค่าชื่อเมนูเป็นเมนูหลัก แต่ดูเหมือนจะไม่ทำงาน นี่เป็นข้อ จำกัด ใน Drupal หรือไม่? หากเป็นเช่นนั้นฉันจะปรับเปลี่ยนโดยสร้างลิงก์ไปยังหน้านั้นด้วยตนเอง
12 7  routes 

2
ปัญหาในการพยายามสร้างมุมมองด้วยแท็บ ลิงก์ของแท็บไม่ได้ชี้ไปที่เส้นทางที่ฉันตั้งไว้
ฉันกำลังพยายามสร้างมุมมองพร้อมแท็บ: เพื่อให้หน้าเว็บที่มีแท็บหลายแท็บมุมมองมีหน้าหลักที่แสดงโหนดบทความทั้งหมดแท็บสำหรับโหนดกิจกรรมทั้งหมดและแท็บสำหรับโหนดบล็อก บางสิ่งบางอย่างควรทำงานเช่นนี้: ปุ่ม "เนื้อหา" ในเมนูลิงค์ไปยัง / content แท็บ "บทความ" เชื่อมโยงไปยัง / เนื้อหา / บทความ แท็บ "บล็อก" เชื่อมโยงไปยัง / content / blog แท็บ "กิจกรรม" เชื่อมโยงไปยัง / content / event อย่างไรก็ตามด้วยงานของฉันนี่คือสิ่งที่ฉันได้รับ: แท็บทั้ง 3 เชื่อมโยงไปยัง / contentแทนที่จะเป็น / content / article, / content / blog, / content / event ========== ด้านล่างคือการกำหนดค่ามุมมองของฉัน: โดยทั่วไปแท็บจะปรากฏขึ้น …
12 views  routes 

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 

5
ฉันควรใช้ t () ในคำอธิบายของ hook_menu หรือไม่
ฉันมักจะใช้t ()สำหรับชื่อ hook_menus และคำอธิบายเช่นนี้: $items['some-path'] = array( 'title' => t('My Page Title'), 'description' => t('This is a description about what my page is for'), 'page callback' => 'profile_user_page', ); สำหรับฉันแล้วผู้ใช้สามารถแปลชื่อและคำอธิบายเป็นภาษาต่างๆได้หากต้องการ อย่างไรก็ตามความคิดเห็นนี้ในการตรวจสอบโมดูลใน DO พูดว่า: ไม่ถูกต้องอย่าทำอย่างนั้น - คำอธิบายใน hook_menu () ไม่ควรใช้ t () อะไรคือเหตุผลสำหรับสิ่งนี้และนี่เป็นแนวทางปฏิบัติที่ดีที่สุดจริงหรือ นอกจากนี้หากเป็นจริงแล้วเราไม่ควรใช้ t () สำหรับชื่อเช่นกัน?
11 7  i18n-l10n  routes 

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 

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