تصویر شیرین عبدالهی
مطمئنا بارها پیش آمده که خواسته اید سلکت-کوئری دلخواهی را بر روی یکی از جدول های پایگاه داده ی دروپالی خود زده و نتیجه را به صورت صفحه بندی شده نشان دهید. در این مطلب با ذکر یک مثال چگونگی انجام این عمل را مشاهده میکنیم.

 

به کوئری خود extend('PagerDefault') , limit($count) را اضافه میکنید. که متغیر count مقداری که در هر صفحه میخواهید نشان دهید نگه داری میکند.سپس نتیجه را در theme جدول  قرار داده و همچنین theme صفحه بندی را با مقدار count ای که به کوئری خود دادیم برمیگردانیم.


$count = variable_get('r_count', 20);
  $results = db_select('report_users', 'r')
      ->fields('r')
      ->extend('PagerDefault')
      ->limit($count)
      ->execute()
      ->fetchAll();

  $header = array('number', 'user name', 'Blocked Date', 'edit');
  $rows = array();

 ....

  return array(
    array(
      drupal_get_form('report_form')
    ),
    array(
      '#theme' => 'table',
      '#rows' => $rows,
      '#header' => $header
    ),
    array(
      '#theme' => 'pager',
      '#quantity' => $count,
    )
  );

بدین صورت و به همین سادگی شما جدولی ساخته اید که دارای صفحه بندی است.

برچسب ها: 

دیدگاه‌ها

تصویر farzad wafaee

farzad wafaee (تایید نشده)

سلام ممنون از آموزش های خوبتون .لطفا من رو راهنمایی کنید .من دارم یه سایت میسازم با دروپال . میخام که جدولی ایجاد کنم که کاربرها بیان اون رو در سایت پر کنن .میشه راهنمایی کنید که کدوم ماژول رو استفاده کنم قبلا از table field استفاده کردم ولی جواب نداد و جدولی که درست کردم قابل ویرایش توسط کاربر نبود.لطفا راهنمایی کنید و به من ایمیل بزنید .خیلی کارم گیره با تشکر

تصویر محمدعلی اکبری

محمدعلی اکبری

دوست عزیز، پیشنهاد من برای مسائلی که با ماژولهای موجود توی یک ساعت حل نمیشه، انجام کل اون کار توی یه ماژول اختصاصیه که خودتون می‌نویسید.

تصویر farzad

farzad (تایید نشده)

دوست عزیز ممنون که جواب دادی من مشکلم اینه که ماژول نویسی بلد نیستم ،نمیدونم چطور باید ماژولی بنویسم که فرمی که پر میشه نتیجش در همون صفحه در یه جدول نمایش داده بشه، میشه راهنمایی کنید و راه کوتاه تری نشان بدید ،ممنونم

افزودن نظر جدید