كيفية تعيين التوجيه لعنوان URL مع معلمات متعددة في symfony؟

أستخدم symfony 1.0 وقمت بتعيين التوجيه لعناوين URL قليلة على النحو التالي.

static_pages:
url: docs/:page.htm
param: { module: docs, action: index }

الآن ، قمت بتعيين التوجيه لنوع مختلف من URL.

URL is http://news4u.com/search/description/id/3/css/a/act/a

لقد حددت التوجيه على النحو التالي

description:
url: /search/description/id/:id/css/:manu/act/:mgh
param: { module: search, action: description}

هل هذا التنسيق الصحيح للحصول على قيم 'css' و 'act'. في الوقت الذي تفتقد فيه عنوان URL إلى معلمة CSS ، أعني إذا كان عنوان URL كما يلي:

http://news4u.com/search/description/id/3/css//act/a

قيمة - getRequestParameter ('css') تظهر كـ 'act' و قيمة - getRequestParameter ('act') فارغة

لذا ، حاولت تطبيق التوجيه ورجاء تصحيحي إذا كنت مخطئًا. أنا لا أكون مرغوبا على الخروج باستخدام التكوين أعلاه التوجيه.

0
ويرتبط هذا أيضًا بالارتباط stackoverflow.com/questions/11034591/&hellip؛
وأضاف المؤلف Manoj H, مصدر

1 إجابة

لا يلزم بالضرورة تحديد "id" و "css" و "act" كمعلمات في ملف routing.yml إلا إذا كنت تستخدم وجودها في عنوان URL لإرسال المستخدمين إلى وحدة البحث وإجراء الوصف.

استخدام القاعدة التالية في routing.yml سيظل يعمل:

default:
  url:   /:module/:action/*

ثم يجب أن تكون قادرا على استخدامها

url_for('search/description', array(
   'id' => 4, 
   'css' => 'something', 
   'act' => 'blah'
); 

لإنشاء رابط مثل:/search/description/id/4/css/something/act/blah

0
وأضاف