تغییر دادن جستجوی پیشفرض دروپال در قالب

شما اینجا هستید

5 پست / 0 جدید
آخرین ارسال

وضعیت: آفلاین
  • تعداد ارسال: ۴۶
  • تاریخ عضویت: ۲۰۱۳/۱۰/۱۸
  • آخرین حضور: ۲۰۱۹/۰۷/۱۱
  • سمت: کاربر عضو
  • موقعیت: تهران

سلام
با بوت استرپ دارم یه قالب برای دروپال می زنم. یه مشکل بزرگ اینه که جستجوی پیشفرض دروپال رو نمی تونم آنچنان تغییر بدم تا توی قالب بشینه.

کد:
      <form class="navbar-form navbar-left " role="search">
        <?php print $search_box; ?>
      </form>

را توی قالب گذاشتم. و کد:

function irisdf_preprocess_page(&$variables){
  $search_box = drupal_render(drupal_get_form('search_form'));
  $variables['search_box'] = $search_box;
}

تو صفحه تمپلیت . جستجو را منتشر می کنه ولی با استایل خودش. چجوری می تون تغییرش بدم و همه جزئیاتش از ورودی و کلیدها و عناوین را کاستوم کنم؟

مثل این که مال بوت استرپ هست؟
<form class="navbar-form navbar-left" role="search">
  <div class="form-group">
    <input type="text" class="form-control" placeholder="Search">
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>


وضعیت: آفلاین
  • نسخه دروپال: 7.00
  • تعداد ارسال: ۴۱۰۵
  • تاریخ عضویت: ۲۰۱۰/۰۱/۱۸
  • آخرین حضور: ۲۰۲۱/۰۳/۰۶
  • سمت: مدیر کل
  • موقعیت: نامشخص

فکر میکنم با ساختن یک بلوک کاستوم برای سرچ بدون کد نویسی بتونید از سرچ دروپال در هر نوع فرمی استفاده کنید.
یا نهایتا با استفاده از ماژول https://www.drupal.org/project/custom_search میتونید امکانات را بیشتر کنید.


وضعیت: آفلاین
  • تعداد ارسال: ۸۷۸
  • تاریخ عضویت: ۲۰۰۹/۱۱/۰۱
  • آخرین حضور: ۲۰۲۰/۱۲/۰۴
  • سمت: مدیر کل
  • موقعیت: تهران

با استفاده از ماژول ها امورات بسیاری در دروپال قابل انجام است، اما همیشه حل مشکلات با استفاده از ماژول را در اولویت دوم قرار دهید.
در صورتی که یک قالب اختصاصی دارید ، بجای نصب یک ماژول که موجب سنگین شدن سایت دروپالی شما نیز خواهد شد، میتوانید کد زیر را به فایل template.php قالب فعال خود اضافه و حافظه نهان دروپال را خالی کنید:
function drupalcms_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'search_form') {
    $form['#attributes']['class'][] = 'navbar-form navbar-left';
    $form['#attributes']['role'][] = 'search';
  }
}

کدهای html مربوط به bootstrap را در فایل page.tpl.php ویرایش یا شخصی سازی کنید. با قرار دادن کد بالا ، class های تعریف شده به فرم جستجو اضافه شده و role تنظیم شده به فرم اختصاص داده می شود و هیچ مشکلی برای نمایش دادن در bootstrap نخواهند داشت.


وضعیت: آفلاین
  • تعداد ارسال: ۴۶
  • تاریخ عضویت: ۲۰۱۳/۱۰/۱۸
  • آخرین حضور: ۲۰۱۹/۰۷/۱۱
  • سمت: کاربر عضو
  • موقعیت: تهران

ممنون. استفاده کردم و جواب گرفتم . تغییرظاهر کلید ها و ورودی ها باید از همین روش استفاده کرد؟


وضعیت: آفلاین
  • تعداد ارسال: ۷۴۱
  • تاریخ عضویت: ۲۰۱۱/۰۳/۳۰
  • آخرین حضور: ۲۰۲۰/۰۶/۰۸
  • سمت: کاربر عضو
  • موقعیت: ساری

به نظر من هم به جای استفاده از ماژول با استفاده از توابع theme در فایل templates.php این کار رو بکنید.