3.10 استخدام سلاسل الاستبدال #
استخدم سلاسل الاستبدال داخل القوالب أو مصدر المنطقة أو أي سمة لتمرير المعلومات واستبدال سلسلة أحرف بقيمة أخرى.
ملحوظة: إذا كانت إحدى السمات تدعم الاستبدالات، فإن مساعدة مصمم الصفحات تتضمن قسم ” معلومات إضافية” الذي يصف سلاسل الاستبدال المدعومة.
3.10.1 حول استخدام سلاسل الاستبدال #
تعرف على كيفية استخدام سلاسل الاستبدال.
نصيحة: يدعم مُنشئ التطبيقات العديد من سلاسل الاستبدال المُدمجة. يمكنك الرجوع إلى هذه السلاسل لتحقيق أنواع مُحددة من الوظائف. لمعرفة المزيد،
3.10.1.1 سلاسل استبدال العنصر النائب داخل القوالب #
قم بتضمين سلسلة استبدال عنصر نائب داخل قالب للإشارة إلى قيم المكونات.
يتم الإشارة إلى سلاسل الاستبدال المتاحة في القالب بعلامة (#). على سبيل المثال:
ABC
نصيحة: يمكنك أيضًا استخدام واجهة برمجة تطبيقات جافا سكريبت apex.util.applyTemplate لتقييم القوالب على جانب العميل.
3.10.1.2 صيغة استبدال حالة الجلسة لعناصر الصفحة أو التطبيق #
صفحة مرجعية أو عناصر تطبيق باستخدام صيغة استبدال حالة الجلسة (وتسمى أيضًا &ITEM.
صيغة البناء).
للإشارة إلى عناصر الصفحة أو التطبيق، استخدم صيغة سلسلة استبدال حالة الجلسة (وتسمى أيضًا &ITEM.
الصيغة النحوية):
- يرجى الإشارة إلى الصفحة أو عنصر التطبيق بأحرف كبيرة.
- تسبق اسم العنصر علامة (&).
- أضف نقطة (.) إلى اسم العنصر.
يمكنك استخدام صيغة سلسلة استبدال حالة الجلسة في منطقة أو عنوان منطقة أو تسمية عنصر أو في أي من السياقات العديدة الأخرى التي يتم فيها استخدام نص ثابت.
يشير المثال التالي إلى عنصر تطبيق يسمى F101_X
:
&F101_X.
لاحظ أن اسم العنصر ينتهي بنقطة مطلوبة. عند عرض الصفحة، يستبدل محرك APEX قيمة سلسلة الاستبدال بقيمة العنصر F101_X
.
3.10.1.3 سلاسل الاستبدال للشبكات التفاعلية والبطاقات وأعمدة الخرائط #
أعمدة مرجعية في شبكة تفاعلية أو صفحة بطاقات أو صفحة خريطة باستخدام متغيرات الاستبدال.
لاستخدام متغيرات الاستبدال للإشارة إلى الأعمدة في شبكة تفاعلية أو صفحة بطاقات أو صفحة خريطة:
- يرجى الإشارة إلى اسم العمود بالأحرف الكبيرة.
- تسبق اسم العمود علامة (&).
- أضف نقطة (.) إلى اسم العنصر.
يشير المثال التالي إلى عمود الشبكة التفاعلية ENAME
:
&ENAME.
لاحظ أن اسم العمود ينتهي بنقطة مطلوبة.
3.10.1.4 سلاسل الاستبدال لأعمدة التقارير الأخرى #
أعمدة مرجعية في تقارير أخرى باستخدام متغيرات الاستبدال.
لاستخدام متغيرات الاستبدال للإشارة إلى الأعمدة في التقارير الأخرى:
- يرجى الإشارة إلى اسم العمود بالأحرف الكبيرة.
- ضع علامة (#) قبل اسم العمود.
- أضف علامة الجنيه (#) إلى اسم العنصر.
يشير المثال التالي إلى عمود التقرير التفاعلي أو الكلاسيكي ENAME
:
#ENAME#
3.10.1.5 استخدام علامات الاقتباس المزدوجة للأحرف الخاصة أو حساسية الحالة #
إذا كانت أسماء العناصر أو الأعمدة تستخدم حرفًا خاصًا أو حساسة لحالة الأحرف، فقم بإحاطة الاسم بعلامتي اقتباس مزدوجتين.
إذا كان الاسم يحتوي على أحرف خاصة أو كان حساسًا لحالة الأحرف، فضع العناصر أو الأعمدة بين علامتي اقتباس مزدوجتين. على سبيل المثال:
&”ITEM-OR-COLUMN-NAME”.
استخدم بناء الجملة التالي:
&"<name>"[!<format>].
حيث:
"<name>"
هو عنصر تطبيق أو عنصر صفحة أو اسم عمود. إذا لم يكن بين علامتي اقتباس، فيجب أن يكون ضمن المجموعة A-Z–0-9_$#"<name>"
هوAPP_TEXT$ <message-name>
حيث<message-name>
اسم رسالة نصية APEX<format>
هو اسم مرشح محدد مسبقًا:HTML
,ATTR
,JS
,RAW
,STRIPHTML
كما هو موضح في التحكم في إفلات الإخراج في سلاسل الاستبدال
3.10.1.6 الاستبدالات في الرسائل النصية (24.2 أو أحدث) #
بالنسبة للتطبيقات التي تحتوي على وضع التوافق 24.2 أو إصدار أحدث، يمكنك الإشارة إلى الرسائل النصية عن طريق وضع اسم الرسالة بين أقواس متعرجة ({}).
نصيحة: صيغة الاستبدال المختصرة الموضحة في هذا القسم متاحة فقط إذا كان وضع توافق التطبيق هو الإصدار 24.2 أو أحدث.
للإشارة إلى الرسائل النصية، ضع اسم الرسالة بين قوسين متعرجين ({}). المثال التالي يشير إلى رسالة نصية باسم TEXT.MSG
:
&{TEXT.MSG}.
على سبيل المثال، يمكن أن يحتوي اسم الرسالة TEXT.MSG
على أحرف خاصة. مع ذلك، لا يُدعم استخدام المسافات البيضاء وقوس الإغلاق المعقوف.
تدعم عمليات استبدال الرسائل النصية أيضًا المعلمات. قبل قوس الإغلاق، أضف name=value pairs
فاصلًا بمسافة. تجدر الإشارة إلى أن الاسم $lang
خاص لأنه يتحكم في لغة الرسالة. يمكن أن تحتوي الأسماء على أي حرف باستثناء المسافة وعلامة “=”.
يمكن أن تكون القيم واحدة مما يلي:
- استبدال بدون علامات اقتباس، مع إمكانية تجاوز HTML افتراضيًا. على سبيل المثال:
&P1_NAME.
- استبدال مقتبس، مع إمكانية تجاوز HTML افتراضيًا. على سبيل المثال:
&"X-1".
- قيمة حرفية بدون اقتباسات. أي قيمة باستثناء علامتي الاقتباس المزدوجتين. على سبيل المثال:
he&she+it?
لا يتم دعم المسافة البيضاء والأقواس المجعدة المغلقة. - قيمة حرفية مقتبسة. ضع القيمة بين علامتي اقتباس مزدوجتين. لإدراج علامة اقتباس مزدوجة، اكتبها مرتين. على سبيل المثال:
"Hello ""APEX"" world"
فيما يلي مثال لرسالة نصية معقدة تحتوي على معلمات:
&{TEXT->MSG
Unquoted_Substitution=&P1_NAME!RAW.
Quoted_Substitution=&”Quoted name”!RAW.
Unquoted_Literal=how/do.you!do?
Quoted_Literal=”Jerry Garcia
Ron “”Pigpen”” McKerhan”
$lang=FR}!HTML.
3.10.2 التحكم في إخراج الهروب في سلاسل الاستبدال #
تعرف على كيفية التحكم في إخراج الهروب في سلاسل الاستبدال.
يمكنك تجاوز الأحرف الخاصة في قيمة الاستبدال بإضافة علامة تعجب (!
) متبوعة باسم مرشح مُحدد مسبقًا إلى اسم عنصر صفحة أو تطبيق، أو عمود تقرير، أو أي سلسلة استبدال أخرى. يُعدّ تجاوز المخرجات تقنية أمان مهمة لتجنب هجمات Cross Site Scripting (XSS) في المتصفح. يبذل Oracle APEX قصارى جهده لتجاوز الأحرف تلقائيًا في سياق HTML أو JavaScript. بفضل هذه البنية النحوية المُوسّعة، يتمتع المطورون بتحكم دقيق في المخرجات.
مرشحات الهروب المتاحة #
تتضمن مرشحات الهروب المتوفرة ما يلي:
HTML
هروب من أحرف HTML المحجوزة escapes reserved HTML characters، على سبيل المثال:- Item:
&P1_DEPTNO!HTML.
- Interactive grid column:
&ENAME!HTML.
- Columns in other reports:
#ENAME!HTML#
- Item:
ATTR
يتجنب الأحرف المحجوزة في سياق سمة HTML، على سبيل المثال:- Interactive grid column:
&ENAME!ATTR.
- Columns in other reports:
#ENAME!ATTR#
- Interactive grid column:
JS
يتجنب الأحرف المحجوزة في سياق JavaScript، على سبيل المثال:- Item:
&P1_DEPTNO!JS.
- Interactive grid column:
&ENAME!JS.
- Columns in other reports:
#ENAME!JS#
- ملحوظة: لا يتم دعم مرشح الهروب JS بواسطة عمليات الاستبدال التي يتم إجراؤها على العميل.
- Item:
RAW
يحافظ على قيمة العنصر الأصلية ولا يفلت من الأحرف، على سبيل المثال:- Item:
&P1_DEPTNO!RAW.
- Interactive grid column:
&ENAME!RAW.
- Columns in other reports:
#ENAME!RAW#
- Item:
STRIPHTML
يزيل علامات HTML من المخرجات ويتجنب أحرف HTML المحجوزة، على سبيل المثال:- tem:
&P1_DEPTNO!STRIPHTML.
- Interactive grid column:
&ENAME!STRIPHTML.
- Columns in other reports:
#ENAME!STRIPHTML#
- tem:
3.10.3 عرض سلاسل الاستبدال المدعومة لقالب #
عرض سلاسل الاستبدال المدعومة في القوالب في تعريف القالب.
يمكنك استخدام سلاسل الاستبدال داخل القوالب للإشارة إلى قيم المكونات. لعرض أحدث قائمة بسلاسل الاستبدال المدعومة لقالب معين، استعرض تقرير “سلاسل الاستبدال” في تعريف القالب.
لعرض تقرير عرض سلاسل الاستبدال:
- انتقل إلى صفحة القوالب Templates:
- في الصفحة الرئيسية لمساحة العمل، انقر فوق أيقونة “منشئ التطبيقات” App Builder.
- حدد التطبيق.
- انقر فوق المكونات المشتركة Shared Components.
- .تحت واجهة المستخدم، حدد القوالب Templates.
- تظهر صفحة القوالب
- .لعرض تعريف القالب، انقر فوق اسم القالب
- .يظهر تعريف القالب.
- ابحث عن تقرير سلاسل الاستبدال Substitution Strings.
3.10.4 استخدام سلاسل الاستبدال المضمنة #
تعرف على سلاسل الاستبدال المضمنة المتوفرة في App Builder .
يدعم مُنشئ التطبيقات العديد من سلاسل الاستبدال المُدمجة. يمكنك الرجوع إلى هذه السلاسل لتحقيق أنواع مُحددة من الوظائف.
نصيحة: تجدر الإشارة إلى أن متغير الربط
:USER
له معنى خاص داخل قاعدة البيانات. كما يشير مصطلح PL/SQL المباشر إلى PL/SQL الذي يمكن استخدامه في كائنات قاعدة البيانات المخزنة، مثل الإجراءات والوظائف.
سيتم إضافة المزيد من التفاصيل في هذا القسم لاحقًا.