it-swarm.asia

مسار الصورة الصحيح للاستخدام في ملفات القوالب الخاصة بالسمات المخصصة

أقوم بإنشاء سمة مخصصة. تحت مجلد السمة الخاص بي ، يوجد مجلد images حيث قمت بوضع بعض الصور. أريد استخدام هذه الصور في ملفات القالب المتنوعة (.tpl.php) باستخدام علامة HTML <img> ... ولكن المشكلة هي كيف أحصل على المسار الصحيح لهذه الصور (src ينسب)؟

لقد بحثت لفترة من الوقت ولكن لم أحصل على أي حلول. الرجاء المساعدة.

تحرير: أستخدم عناوين url لطيفة (http://mydrupalsite.com/a/b/c/d) - اكتب عناوين URL. لذا ، إذا كانت الصورة src تبدأ بـ / (أو أي مسار نسبي) فسوف تنكسر.

7
Shafiul

أعتقد أن هذه الوظائف يمكن أن تكون مفيدة في قوالبك:

print base_path() . path_to_theme();

path_to_theme () أعد المسار إلى العنصر الموضوعي الحالي. base_path () المسار الأساسي للتثبيت Drupal التثبيت.

على سبيل المثال ، لدي صورة تسمى bg-bar.png داخل الدليل images في دليل القالب الخاص بي يسمى garland. ثم يمكنني استخدام base_path() و path_to_theme() للحصول على المسار إلى الصورة ، على سبيل المثال داخل node.tpl.php:

print '<img src="'.base_path() . path_to_theme() .'/images/bg-bar.png">';

التحديث: إذا كنت ترغب في استخدام المجال الحالي ، يمكنك استخدام global $base_root:

  $address = ''.base_path() . path_to_theme() .'/images/bg-bar.png';
  global $base_root;
  echo '<img src="' . $base_root . $address . '">';

آمل أن تكون المعلومات مفيدة.

14
cigotete

نظرًا لأن صورتي كانت في كتلة مشروطة ، فقد تسببت الصيغة أعلاه في بعض المشاكل وعملت الأمور التالية بالنسبة لي. ومع ذلك ، لست متأكدًا مما إذا كان من المستحسن من منظور الصيانة:

src='<?php print base_path().path_to_theme().'/images/iphone.png' ?>'
0
dd263