هوک محل قرار گرفتن ماژول های قالب پرستاشاپ است. شما با ایجاد یک هوک جدید می تونید مدیریت بهتری روی ماژول ها داشته باشید و در نتیجه طراحی یا ویرایش قالب براتون راحت تر میشه. خوب ، ساخت یک هوک جدید کار بسیار راحتیه فقط باید به دقت مراحل زیر رو انجام بدید:
مرحله 1: ابتدا باید هوک جدید را در فایل FrontController.php ایجاد کنید. برای این کار به مسیر "prestashop\classes" رفته و فایل FrontController.php را باز کنید. کد زیر پیدا کنید:
برای اضافه کردن هوک جدید باید کد زیر را به کدهای بالا اضافه کنید. (من اسم هوک جدیدم را topCenter گذاشتم. میتونید هر نامی که خواستید برای هوک جدید انتخاب کنید) :
'HOOK_Top_Center' => Module::hookExec('topCenter') // New Hook
مرحله 2: در این مرحله باید اطلاعات هوک جدید را در دیتابیس وارد کنید. برای این کار وارد "php_myadmin" هاست شده و دیتابیس پرستاشاپ را انتخاب کنید. از میان گزینه های سمت چپ صفحه روی گزینه "ps_hook" کلیک کنید تا لیست تمام هوک های موجود باز شود. همانطور که مشاهده می کنید هر هوک شامل چند مشخصه است. یکی از این مشخصه ها "id_hook" است. ببینید "id_hook" مربوط به آخرین هوک، چند است. حالا بر روی گزینه "insert" در بالای صفحه کلیک کنید. در قسمت value مقادیر زیر را برای هر فیلد وارد کنید.
[align=right]id_hook ------> شناسه هوک که مقدار آن باید یکی بیشتر از شناسه آخرین هوک باشد.
name --------> نام هوک (برای مثال : topCenter)
title ---------> عنوان هوک (برای مثال : Top of Center)
description --> توضیحاتی درباره هوک که اختیاریه. می تونید خالی بزارید.
در آخر روی "GO" کلیک کنید تا هوک جدید ساخته بشه.
مرحله 3: حالا باید مشخص کنید که چه ماژول هایی می تونن تو این هوک قرار بگیرن. به عنوان مثال در اینجا میخواهیم این هوک را برای ماژول blockpermanentlinks (بخش لینک های دائمی) تعریف کنیم. پس به مسیر prestashop\modules\blockpermanentlinks رفته و فایل blockpermanentlinks.php را باز کنید. همانطور که مشاهده می کنید هوک ها در این فایل به وسیله تابع زیر فراخوانی شده اند:
function hookLeftColumn($params){
return $this->display(__FILE__, 'blockpermanentlinks-header.tpl');
}
پس شما هم هوک جدید را به وسیله این تابع به این فایل اضافه کنید:
function hooktopCenter($params){
return $this->display(__FILE__, 'blockpermanentlinks-header.tpl');
}
مرحله 4: در این مرحله باید هوک جدید را با توجه به نیازتون در یکی از فایل های tpl قالبتون فراخوانی کنید. مثلا این هوک را می خواهیم در header.tpl فراخوانی کنیم. به مسیر prestashop\themes\yourtheme رفته و فایل header.tpl را باز کنید. با استفاده از کد {$HOOK_Top_Center} هوک جدید را فراخوانی می کنیم:
{$HOOK_Top_Center}
مرحله 5: به قسمت مدیریت پرستاشاپ و مسیر "ماژول ها > موقعیت ها" رفته و روی گزینه نشاندن یک ماژول کلیک کنید. از قسمت ماژول نام ماژولی که هوک را برای آن تعریف کردید (ماژول بخش لینک های دائمی) و از قسمت "جایگیری در" نام هوک جدید را انتخاب کنید و روی ذخیره کلیک کنید.
حالا با فعال کردن کامپایل اجباری از مسیر "تنظیمات > کارایی ها" و رفرش سایت می تونید تغییرات را مشاهده کنید.
این مشکل رو حل کردم. وقتی چنین اتفاقی میفته باید حافظه موقت رو خالی کنید. از این قسمت قابل دسترسیه: "پارامترهای پیشرفته/کارایی" و کلیک روی "پاک کردن حافظه موقت" در بالا و سمت چپ صفحه.
این مشکل رو حل کردم. وقتی چنین اتفاقی میفته باید حافظه موقت رو خالی کنید. از این قسمت قابل دسترسیه: "پارامترهای پیشرفته/کارایی" و کلیک روی "پاک کردن حافظه موقت" در بالا و سمت چپ صفحه.
در مورد لوگو هیچ راهنمایی انجام نمیدم ، در فایل راهنمای قالب در مراحل نصب گفته شده که چه کار باید بکنید و شما آن مرحله را رد کرده اید و انجام نداده اید خودتون پیدا کنید بهتره ( بخش تنظیمات / تصاویر ) بعد از انجام این مرحله لوگو رو مجددا آپلود کنید . در مورد کلمه in stock این مخصوص محصولات پیشفرض خود پرستاشاپ هست ، اونا رو پاک کنید و محصولات خودتون رو بزنید خودش درست میشه .
1- محدودیتی در تعداد دسته بندی در صفحه اول وجود ندارد . هر چقدر که دلتون بخواد 2 - محصولات پرفروش و ویژه رو فعلا ماژولش این امکان رو نداره ، شاید در آپدیت های بعدی اضافه کردیم . 3 - بله میشه . البته حالت اسلایدی رو نمیشه خاموش کرد . 4 - این سوالتون مربوط به قالب نیست ، از تنظیمات / محصولات میتوانید چیدمان پیشفرض محصولات را تنظیم کنید 5 - قالب های تجاری که بابتش پول پرداخت میکنید مسلما باید خیلی پرسرعت تر از قالب پیشفرض و قالب های رایگان باشن . ضمن اینکه آموزش افزایش سرعت پرستاشاپ را در وبلاگ مطالعه کنید ( لینک وبلاگ در بالای انجمن هست ) موفق باشید