ما هي أفضل طريقة لإضافة العلامات إلى الرأس في Plone؟

StackOverflow https://stackoverflow.com/questions/137911

  •  02-07-2019
  •  | 
  •  

سؤال

أريد إضافة علامات الارتباط لإعادة توجيه موقع الويب الخاص بي إلى مزود OpenID الخاص بي.يجب أن توضع هذه العلامات في عنصر الرأس.ما هي أفضل طريقة لإضافتها في Plone؟

أدرك أن ملء head_slot هو وسيلة للقيام بذلك، ولكن هذا لا يمكن أن يحدث إلا عندما تقوم بإضافة قالب إلى الصفحة ويتم عرض هذا القالب.في حالتي لا أقوم بإضافة أي قالب.ما القالب الذي يجب أن أقوم بتعديله (هذا ليس main_template.pt، وهو الحل الحالي الذي أستخدمه، مع عيوبه الكبيرة).

هل كانت مفيدة؟

المحلول 3

لم أتمكن من فهم كيفية ملء الفتحة بدون منتج أو أي شيء.أدرك أنه يمكنك ملء فتحة من قالب، ولكن إذا لم يقم Plone بالتقاط هذا القالب، فإن رمز التعبئة لن يتم تشغيلها أبدًا.انتهى بي الأمر بتعديل main_template ووضع الكود الخاص بي مباشرةً في ملف .هذا أمر سيء لأن الأسطح المختلفة ستحتوي على قوالب رئيسية مختلفة، وقد أزعجني بالفعل لأنني قمت بتعديله لقالب واحد عندما كنت أستخدم القالب الآخر.هذه ليست تجربة غير ضارة لا تحدث شيئًا ولكنها مشكلة سيئة لأن القالب الرئيسي موجود في التخصيص ويتم التقاطه بحيث يكون لديك مظهر واحد يعمل مع القالب الرئيسي للآخر.النتيجة النهائية:واجهة المستخدم معطلة بسبب مشكلة يصعب العثور عليها.

وهذا هو الكود الذي أضفته:

<head>
   ...
   <link rel="openid.server" href="http://www.myopenid.com/server" />
   <link rel="openid.delegate" href="http://pupeno.myopenid.com/" />
   <link rel="openid2.local_id" href="http://pupeno.myopenid.com" />
   <link rel="openid2.provider" href="http://www.myopenid.com/server" />
   <meta http-equiv="X-XRDS-Location" content="http://www.myopenid.com/xrds?username=pupeno.myopenid.com" />
</head>

من المحتمل أن أضع علامة على هذه الإجابة على أنها مقبولة لأنها ما أستخدمه حاليًا (وهذه هي سياستي، فأنا أضع علامة على الحلول التي انتهى بي الأمر باستخدامها على أنها مقبولة، ولا يتم وضع علامة على أي شيء آخر على أنه مقبول)، ولكن إذا أصبح أي من الأسئلة الأخرى واضحًا في كيفية إدخال هذا القالب الجديد، سأستخدم ذلك وأرجع القبول (إذا سمح StackOverflow بذلك).

نصائح أخرى

تحتاج إلى ملء head_slot المعرفة في main_template.pt

في قالب بلون الأساسي الخاص بك، أضف ما يلي:

<head>
    <metal:block metal:fill-slot="head_slot">
        <link rel="openid.server" href="http://your.provider">
        <link rel="openid.delegate" href="http://your.url">
    </metal:block>
</head>

في النهاية، يتعين عليك إما وضعها مباشرة في القالب الرئيسي أو إدراجها في إحدى الفتحات الموجودة في قالب البريد.

ما قمت بوضعه في خانة النمط، بجانب بقية روابط CSS/JavaScript:

  <metal:myopenid fill-slot="style_slot">
    <link rel="openid.server" href="http://www.myopenid.com/server" />
    <link rel="openid.delegate" href="http://reinout.myopenid.com/" />
  </metal:myopenid>

عليك أن تضع هذا في قالب في مكان ما.لقد وضعته في ملف homepage.pt منفصل حيث كنت أقوم بتخصيص الصفحة الرئيسية على أي حال.يؤدي هذا إلى وضع رؤوس openid على الصفحة الرئيسية فقط.إذا كنت لا تريد قالبًا مخصصًا، فيمكنك تخصيص قالب document_view (بافتراض أن صفحتك الرئيسية عبارة عن مستند) وإدخال مقتطف التعليمات البرمجية أعلاه فيه.

سيكون من الأفضل أن يكون هناك خيار لذلك في برنامج plone نفسه، على غرار خيار "إضافة جافا سكريبت للإحصائيات هنا".

يمكن العثور على وثائق Plone حول دعم OpenID هنا.

http://plone.org/documentation/how-to/openid-support/view?searchterm=openid

أتمنى أن يساعدك هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top