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

در سایت‌های محتوایی یکی از پر کاربردترین امکانات، امکان دسته‌بندی محتوای سایت در بخش‌های مختلف است. از ویژگی‌های ماژول دسته‌بندی امکان داشتن دسته‌بندی‌های جزئی‌تر و چند مرحله‌ای است. در دروپال ماژول رده‌بندی (Taxonomy) ابزار بسیار قوی و انعظاف پذیری برای این کار است.

در دروپال 7، برای پیاده‌سازی رده‌بندی از مفهوم موجودیت (Entity) استفده شده است. به همین دلیل هر کاری که با گره (Node) می‌توان انجام داد با واژه‌های رده‌بندی (Term) نیز شدنی است. اما از نظر امکانات جانبی که برای کار کردن با گره‌ها وجود دارد، موجودیت‌های دیگر دروپال عقب هستند. اما هنوز با توجه به معماری موجودیت‌ها می‌توانیم هر ویژگی جدیدی را به سادگی به آن اضافه کنیم.

 

ویژگی مورد نظر

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

 

راه حل پیاده سازی

برای اینکار از دو ماژول زیر استفاده کرده ام:

taxonomy_display و taxonomy_display_child_terms

البته با کمی اصلاحات

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