راهنمای افزونه فروشگاه آنلاین
اگر دنبال تغییر بخش خاصی هستید، همینجا جستوجو کنید؛ برای نمونه «فونت»، «لودینگ»، «رنگ» یا «کش».
- ۱پیش از شروع
- ۲نصب مرحلهبهمرحله
- ۳ساختار فایلها
- ۴تنظیمات config.php
- ۵صفحهٔ لودینگ
- ۶رنگ و قالب
- ۷تغییر فونت
- ۸اندازه تصاویر و کارتها
- ۹لوگو و آیکن
- ۱۰کش و سرعت
- ۱۱پرداخت و دامنه
- ۱۲پرسشهای متداول
۱پیش از شروع — این بخش را حتماً بخوانید
این چند نکته، پاسخ بیشتر سؤالهای رایج را روشن میکند.
سایت فروشگاه شما اطلاعات را داخل خودش نگه نمیدارد. همه اطلاعات بهصورت آنلاین از سرور دریافت میشود:
مواردی که از فایلهای سایت تنظیم میشوند: فونت، اندازه کارتها و تصاویر، صفحه لودینگ، مدتزمان کش و چند تنظیم ظاهری جزئی.
پس اگر میخواهید رنگ سایت را تغییر دهید، نیازی به ویرایش فایلها نیست؛ این کار را از اپلیکیشن مدیریت فروشگاه انجام دهید. بسته به زمان کش، تغییرات معمولاً بعد از چند دقیقه روی سایت نمایش داده میشوند.
برای نصب به چه چیزهایی نیاز دارید؟
- هاست با PHP نسخه ۷.۴ یا بالاتر (نسخه ۸.۳ هم تست شده است)
- فعال بودن افزونه
cURLروی هاست (معمولاً فعال است) - دامنهای که در اپلیکیشن مدیریت فروشگاه ثبت شده باشد
- دسترسی به File Manager هاست یا یک برنامه FTP
۲نصب مرحلهبهمرحله
- فایلها را بارگذاری کنید.
محتوای پوشه را در ریشه سایت قرار دهید؛ این مسیر معمولاً
public_htmlاست. دقت کنیدindex.phpباید مستقیم داخلpublic_htmlباشد، نه داخل یک پوشه اضافه. - دامنه را بررسی کنید. سایت دامنه خودش را بهصورت خودکار تشخیص میدهد و لازم نیست آن را جایی وارد کنید. همان دامنه باید در اپلیکیشن مدیریت فروشگاه ثبت شده باشد.
- پوشه
cacheرا بسازید و دسترسی آن را تنظیم کنید. اگر این پوشه بهصورت خودکار ساخته نشد، آن را دستی بسازید و سطح دسترسی را روی755بگذارید؛ در صورت نیاز از775استفاده کنید.مهم: اگر این پوشه قابل نوشتن نباشد، سایت کند میشود؛ چون در هر بار نمایش، مجبور است اطلاعات را دوباره از سرور دریافت کند. - فایل
.htaccessرا بررسی کنید. این فایل مخفی است؛ در File Manager گزینه «نمایش فایلهای مخفی» را فعال کنید. اگر آدرسهایی مثل/product/12/باز نشدند و خطای ۴۰۴ دیدید، یعنیmod_rewriteفعال نیست. از پشتیبانی هاست بخواهید آن را فعال کند. - سایت را باز کنید. اگر همهچیز درست باشد، صفحه اصلی همراه با کالاهای شما نمایش داده میشود.
نصب در زیرشاخه
اگر فروشگاه را داخل یک زیرشاخه نصب کردهاید؛ مثلاً example.com/shop/،
این خط را در فایل .htaccess از حالت توضیح خارج کنید:
RewriteBase /shop/
اگر هاست شما از nginx استفاده میکند
فایل .htaccess روی nginx اجرا نمیشود. برای این نوع هاست، مسیرهای زیر را به تنظیمات nginx اضافه کنید:
location = /api.php { rewrite ^ /core/api.php last; }
location = /suggest.php { rewrite ^ /core/suggest.php last; }
location = /products.php { rewrite ^ /core/products.php last; }
location = /validate_cart.php { rewrite ^ /core/validate_cart.php last; }
location = /logo.php { rewrite ^ /core/logo.php last; }
location = /manifest.php { rewrite ^ /core/manifest.php last; }
location = /robots.txt { rewrite ^ /core/robots.php last; }
location = /sitemap.xml { rewrite ^ /core/sitemap.php last; }
location ~ ^/(cache|inc|pages)/ { deny all; }
location / { try_files $uri $uri/ /index.php?$query_string; }
۳ساختار فایلها — هر فایل چه کاری انجام میدهد؟
در ریشه سایت فقط فایلهایی قرار گرفتهاند که ممکن است لازم باشد آنها را ویرایش کنید.
| فایل | کاربرد | قابل ویرایش است؟ |
|---|---|---|
index.php | هسته اصلی سایت؛ آدرسها را به صفحههای مربوط وصل میکند | خیر |
config.php | تنظیمات عمومی مثل کش، تعداد کالا در صفحه و لوگوی پشتیبان | بله |
theme.php | تنظیم اندازهها؛ مثل کارت کالا، لوگو و گردی گوشهها | بله |
loading.php | صفحه لودینگ ابتدای سایت | بله |
verify.php | بازگشت از درگاه پرداخت | هرگز |
help.php | همین صفحه | اختیاری |
assets/ | فایلهای CSS، JavaScript، فونتها و تصاویر | در صورت نیاز |
core/ | سرویسهای داخلی مثل جستوجو، سبد خرید و نقشه سایت | خیر |
inc/ و pages/ | موتور اصلی و صفحههای سایت | خیر |
cache/ | حافظه موقت سایت که معمولاً خودکار ساخته میشود | خیر |
theme.php.bak). اگر مشکلی پیش آمد، خیلی سریع میتوانید فایل قبلی را برگردانید.۴تنظیمات config.php
اینها تنظیماتی هستند که احتمالاً بیشتر از بقیه به آنها نیاز پیدا میکنید:
| تنظیم | پیشفرض | توضیح |
|---|---|---|
PAGE_CACHE_TTL | ۱۲۰ | مدت نگهداری نسخه آماده صفحهها، برحسب ثانیه. عدد بزرگتر یعنی سرعت بیشتر، اما تغییرات دیرتر دیده میشوند. 0 یعنی غیرفعال. |
CACHE_TTL | ۳۰ | مدت نگهداری اطلاعات فروشگاه، برحسب ثانیه. |
PAGE_SIZE | ۴۸ | تعداد کالاهایی که در هر بار بارگذاری فهرست نمایش داده میشوند. باقی کالاها با اسکرول اضافه میشوند. |
MAX_PRODUCT_IN_GROUP | ۱۰ | تعداد کالاهای نمایشدادهشده در هر ردیف صفحه اصلی. |
LOGO_URL | — | لوگوی پشتیبان؛ زمانی استفاده میشود که لوگویی در اپلیکیشن ثبت نشده باشد. |
API_SSL_VERIFY | true | اگر گواهی SSL هاست قدیمی است و خطای ارتباط دریافت میکنید، موقتاً آن را روی false بگذارید. |
;) انتهای خطها را حذف نکنید. اگر بعد از ویرایش صفحه سفید شد،
احتمالاً یک کاراکتر جا افتاده است؛ در این حالت نسخه پشتیبان را برگردانید.۵صفحه لودینگ — loading.php
این همان بخشی است که تا زمان آمادهشدن سایت به کاربر نشان داده میشود.
فایل loading.php در ریشه سایت قرار دارد و میتوانید ظاهر آن را تغییر دهید.
متغیرهای زیر داخل این فایل در دسترس هستند:
| متغیر | محتوا |
|---|---|
$loaderLogo | آدرس لوگوی فروشگاه |
$loaderName | نام فروشگاه |
$loaderColor | رنگ اصلی فروشگاه (مثلاً #0b9b00) |
id="appLoader" و کلاس
app-loader را داشته باشد. جاوااسکریپت با همین دو نشانه آن را پیدا میکند و
بعد از بارگذاری سایت پنهانش میکند. اگر این دو مورد را حذف کنید، لودینگ بسته نمیشود.مثال: نمایش یک متن ساده
<div id="appLoader" class="app-loader">
<p style="font-weight:700"><?= htmlspecialchars($loaderName) ?></p>
<p>لطفاً چند لحظه صبر کنید…</p>
</div>
اگر نمیخواهید لودینگ نمایش داده شود، محتوای فایل را به یک div خالی
با همان id تبدیل کنید.
۶رنگ و قالب سایت
بعد از تغییر رنگ، ظاهر سایت عوض نشده؟
- چند دقیقه صبر کنید؛ بهاندازه مقدار
PAGE_CACHE_TTL. - اگر تغییری ندیدید، پوشه
cacheرا خالی کنید؛ فقط فایلهای داخل آن را پاک کنید و خود پوشه را نگه دارید. - در مرورگر
Ctrl + Shift + Rبزنید تا کش مرورگر هم نادیده گرفته شود.
رنگ متن دکمهها خودکار تنظیم میشود
اگر رنگ روشنی مثل زرد انتخاب کنید، متن دکمهها خودکار تیره میشود؛ اگر رنگ اصلی تیره باشد، متن دکمهها سفید میشود. لازم نیست تنظیم جداگانهای انجام دهید.
حالت شب
سایت دکمه روشن/تاریک دارد و انتخاب کاربر را ذخیره میکند. برای تغییر رنگهای حالت شب،
آرایهٔ $GLOBALS['THEME_DARK'] در theme.php را ویرایش کنید.
۷تغییر فونت
فونت پیشفرض سایت ایرانیکانایکس است.
روش ۱ — استفاده از فونت دلخواه
- فایل فونت را با فرمت
woff2آماده کنید؛ بهتر است سه وزن نازک، معمولی و ضخیم داشته باشد. - فایلهای فونت را داخل پوشه
assets/fonts/قرار دهید. - فایل
assets/css/style.cssرا باز کنید. خطهای ۶ تا ۸ مربوط به تعریف فونت هستند:
نام فایلها را با نام فونتهای خودتان جایگزین کنید. هر خط مربوط به یک وزن است: ۳۰۰، ۵۰۰ و ۷۰۰.@font-face{ font-family:'IRANYekanX'; src:url('/assets/fonts/IRANYekanX-Light.woff2') format('woff2'); font-weight:300; font-display:swap; } - اگر نام خانواده فونت را هم تغییر دادید، در همان فایل مقدار
font-familyرا در قانونbodyبه نام تازه تغییر دهید. - ذخیره کنید و در مرورگر
Ctrl + Shift + Rبزنید.
woff2 استفاده کنید: این فرمت نسبت به ttf تا حدود ۷۰٪ سبکتر است و
باعث میشود سایت سریعتر باز شود. ابزارهای آنلاین زیادی برای تبدیل ttf به woff2 وجود دارد.روش ۲ — تغییر اندازه فونت
در فایل style.css قانون body را پیدا کنید و
مقدار font-size را تغییر دهید. سایر بخشهای سایت نسبی تنظیم شدهاند و با این تغییر هماهنگ میشوند.
۸اندازه تصاویر و کارتها
همه این تنظیمات از theme.php انجام میشود و نیازی به ویرایش CSS نیست.
در فایل theme.php آرایه $GLOBALS['THEME_SIZES'] را پیدا کنید:
$GLOBALS['THEME_SIZES'] = array(
'maxw' => '1120px', // بیشترین عرض کل صفحه
'radius' => '12px', // میزان گردی گوشهها
'card-w' => '158px', // عرض کارت کالا
'card-img' => '158px', // ارتفاع تصویر روی کارت
'logo' => '52px', // اندازه لوگو در سربرگ
);
| هدف شما | تنظیمی که باید تغییر دهید |
|---|---|
| بزرگتر شدن کارتهای کالا | card-w و card-img را با هم افزایش دهید؛ مثلاً 190px |
| بلندتر شدن تصویر نسبت به کارت، مثل حالت پرتره | card-img را بیشتر از card-w قرار دهید |
| تیزتر شدن گوشهها | radius را کم کنید؛ مثلاً 4px، یا آن را صفر بگذارید |
| تمامعرض شدن سایت | maxw را افزایش دهید؛ مثلاً 1400px |
| بزرگتر شدن لوگو | مقدار logo را افزایش دهید |
card-w و card-img هماندازه باشند،
تصویر کالا مربع، مرتب و یکدست نمایش داده میشود.۹لوگو و آیکن سایت
لوگو
لوگو از اپلیکیشن مدیریت فروشگاه دریافت میشود. اگر لوگویی ثبت نکرده باشید،
سایت از مقدار LOGO_URL در فایل config.php استفاده میکند.
سایت میتواند لوگوی مربعی و لوگوی کشیده را تشخیص دهد و اندازه آن را خودکار تنظیم کند. برای بهترین نتیجه، لوگوی PNG با پسزمینه شفاف بارگذاری کنید.
Favicon (آیکن کنار نام سایت در تب مرورگر)
فایل favicon.ico را در ریشه سایت با آیکن دلخواه خودتان جایگزین کنید. اندازه پیشنهادی ۳۲×۳۲ پیکسل است.
۱۰کش و سرعت سایت
کش یعنی سایت نسخه آماده اطلاعات را نگه میدارد تا دفعات بعد سریعتر نمایش داده شود.
تغییر دادهام، اما روی سایت دیده نمیشود!
در بیشتر موارد، دلیلش کش است. این کارها را بهترتیب انجام دهید:
- چند دقیقه صبر کنید.
- فایلهای داخل پوشه
cacheرا پاک کنید، اما خود پوشه را نگه دارید. - در مرورگر
Ctrl + Shift + Rبزنید. - اگر هنوز نسخه قبلی را میبینید، سایت را در حالت ناشناس (Incognito) باز کنید تا مشخص شود مشکل از کش مرورگر است یا از سرور.
تنظیم تعادل بین «سرعت» و «بهروز بودن»
| وضعیت شما | پیشنهاد |
|---|---|
| قیمتها را زیاد تغییر میدهم | PAGE_CACHE_TTL را کمتر کنید؛ مثلاً ۳۰ |
| بازدید سایت زیاد است و تغییرات کم است | PAGE_CACHE_TTL را بیشتر کنید؛ مثلاً ۶۰۰ |
| در حال تست یا توسعه هستم | موقتاً مقدار را روی 0 بگذارید |
سایت کند است
- مطمئن شوید پوشه
cacheقابل نوشتن است؛ این مهمترین عامل سرعت است. - تصاویر کالاها را پیش از آپلود فشرده کنید.
- اگر تعداد کالاها زیاد است، مقدار
PAGE_SIZEرا کمتر کنید؛ مثلاً ۲۴.
۱۱پرداخت، دامنه و SSL
درگاه پرداخت
verify.php را ویرایش نکنید. این فایل باید دقیقاً در ریشه سایت
و با همین نام باقی بماند؛ بانک پس از پرداخت، کاربر را به همین آدرس برمیگرداند.
اگر این فایل را جابهجا یا ویرایش کنید، ممکن است مبلغ پرداخت شود، اما سفارش ثبت نشود.تنظیمات اصلی درگاه، مثل نوع درگاه بانکی و کلیدها، از داخل اپلیکیشن مدیریت فروشگاه انجام میشود.
SSL و https
سایت فروشگاهی باید حتماً https داشته باشد. بیشتر هاستها
گواهی رایگان Let's Encrypt ارائه میکنند؛ آن را از پنل هاست فعال کنید.
بدون SSL، مرورگرها به کاربر هشدار «ناامن» نشان میدهند و ممکن است درگاه پرداخت هم درست کار نکند.
تغییر دامنه
اگر دامنه سایت را تغییر دادید، دامنه جدید را در اپلیکیشن مدیریت فروشگاه هم بهروز کنید؛ در غیر این صورت سایت پیام «فروشگاه یافت نشد» نمایش میدهد.
۱۲پرسشهای متداول
پاسخ کوتاه به سؤالهایی که بیشتر پرسیده میشوند.
چطور رنگ سایت را تغییر بدهم؟
cache را خالی کنید.چطور قالب سایت را تغییر بدهم (قالب ۱ یا ۲)؟
theme.php مقدار THEME_ID_OVERRIDE را روی 1 یا 2
بگذارید؛ بعد از پایان تست، حتماً دوباره آن را روی 0 قرار دهید.کالای جدید اضافه کردهام، اما در سایت نمایش داده نمیشود.
cache را خالی کنید.صفحه سفید شده یا خطای ۵۰۰ نمایش داده میشود.
صفحه اصلی باز میشود، اما صفحه کالا خطای ۴۰۴ میدهد.
mod_rewrite روی هاست فعال نیست یا فایل .htaccess
بارگذاری نشده است. چون این فایل مخفی است، گاهی هنگام آپلود جا میماند. از پشتیبانی هاست بخواهید
mod_rewrite و AllowOverride All را فعال کند.پیام «فروشگاه یافت نشد» را میبینم.
لودینگ ابتدای سایت بسته نمیشود.
loading.php عنصر بیرونی باید
id="appLoader" و کلاس app-loader داشته باشد.
اگر این دو مورد را حذف کرده باشید، جاوااسکریپت نمیتواند آن را پیدا و پنهان کند.سایت روی موبایل درست نمایش داده نمیشود.
card-w را خیلی بزرگ کرده باشید، کارتها روی موبایل جا نمیشوند.
بهتر است این مقدار را کمتر از 200px نگه دارید.میخواهم فقط یک متن کوچک را تغییر بدهم؛ کجا باید بروم؟
pages/ قرار دارند.
قبل از ویرایش پشتیبان بگیرید و فقط متن بین تگها را تغییر دهید، نه کدها را.آیا با آپدیت افزونه تنظیمات من پاک میشود؟
config.php، theme.php و
loading.php پشتیبان بگیرید. سایر فایلها را میتوانید بدون نگرانی جایگزین کنید.