استرداد الصفحة أو الصفحات التي تحتوي على مكون معين في قائمة عرض المكونات

أحتاج إلى استرداد الصفحة أو الصفحات المنشورة ويحتوي عرض مكون الصفحة (أو الصفحات) على مكون معين. إذا كان هناك مكون موجود في صفحات متعددة ، فأنا أود معرفة أيهما الأقرب إلى الجذر. كيف يمكنني تحقيق ذلك باستخدام الاستعلامات في TOM.Net؟

0
أنت تقول أنك تريد تحقيق ذلك باستخدام TOM.Net. أين سيعمل هذا الرمز؟ على سبيل المثال ، هل تقوم بذلك في إطار كود Templating (يتم تنفيذه عند نشر عنصر ما) أو داخل نظام Events ، ربما؟ قد تساعد بعض المعلومات الإضافية على تحديد أفضل الطرق وما إذا كان TOM.Net هو الحل الصحيح.
وأضاف المؤلف Dillie-O, مصدر
سيكون مكانًا جيدًا للبدء هو الاطلاع على وثائق واجهة برمجة التطبيقات.
وأضاف المؤلف Holtorf, مصدر
إذا كان سيصبح TBB ، فمن المؤكد أنه سيعمل في وقت التقديم.
وأضاف المؤلف Ali Parr, مصدر
JonathanWilliams هذا سيكون على TBB وتشغيله في وقت التشغيل. لن يتم تشغيل هذا الرمز في وقت التقديم.
وأضاف المؤلف xport, مصدر
AtilaSosI يعني نشر الوقت. سوف يعمل TBB في وقت النشر.
وأضاف المؤلف xport, مصدر

2 إجابة

What have you tried so far? I'm asking because this question is a "do my homework instead of me" type, so there is little chance that someone will write your code instead of you. Best we can do is give you some hints, and then using the API found HERE you can easily put together your own code. For debugging purposes you can attach to the Template Builder process, or do it the hard way with log statements.

  • لاسترداد الصفحات المنشورة ، يمكنك استخدام PublishedItemsFilter class
  • لمعرفة ما إذا تم استخدام مكون على إحدى الصفحات ، يمكنك إما النظر في ComponentPresentations للصفحة ، أو يمكنك استخدام وظيفة "where used" مع UsingItemsFilter على العنصر ذو الصلة
  • للعثور على صفحة واحدة قريبة من "الجذر" ، يمكنك مقارنة خاصية مسار أو PublishLocationPath الخاصة بها. أو قم بالبحث حسب نوع العنصر صفحة بدءا من الجذر والتعمق أكثر في كل مرة
1
وأضاف

أنا مرتبك قليلاً بسبب تعليقك "سيكون هذا على TBB وسيعمل في وقت التشغيل. لن يتم تشغيل هذا الرمز في وقت التقديم. "

بشكل عام ، يتم تشغيل كود TBB في وقت التقديم. والسبب في أن جوناثان سأل عن ذلك ، لأنه فقط من المفترض أن يستخدم رمز معالج الأحداث والمفكرات TOM.NET (بدلاً من الخدمة الأساسية).

على أي حال ، على افتراض أنك تريد استخدام TOM.NET: ألقِ نظرة على الطريقة IdentifiableObject.GetUsingItems في المستندات المرجعية API.

باستخدام هذه الطريقة ، يمكنك العثور على الصفحات المنشورة التي تم استخدام مكون معين عليها. يمكن تحديد المسافة من الجذر باستخدام Page.PublishLocationPath .

1
وأضاف