نکات برنامه‌نویسی

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

نکات برنامه‌نویسی

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

۷ مطلب با کلمه‌ی کلیدی «جوملا» ثبت شده است

خطای Cannot write to log file در جوملا

امیرمسعود ایرانی | پنجشنبه, ۲۸ ارديبهشت ۱۳۹۶، ۱۱:۰۵ ق.ظ | ۰ نظر
جوملا در هنگام انجام برخی از فعالیت‌ها مانند به‌روزرسانی، اطلاعاتی را در فایلlog ذخیره می‌کند.
مسیر قرارگیری فایل log جوملا در configuration.php ذخیره شده است و اگر این مسیر نادرست باشد، در هنگامی که نیاز به نوشتن اطلاعات در این فایل باشد با پیام خطای Cannot write to log file مواجه خواهید شد.
برای رفع مشکل، وارد پنل هاست یا FTP شوید و فایل configuration.php را ویرایش کنید.
فایل را برای عبارت public $log_path جستجو کنید و مقدار مقابل آن را به صورت دقیق با نشانی شاخه‌ی log روی سرور جاگذاری نمایید.
برای یافتن مسیر کامل به شاخه‌ی log در cPanel مقدار مقابل Home Directory را یادداشت نمایید.
برای مثال این مقدار ممکن است مشابه عبارت زیر باشد:
/home1/amib
اکنون ادامه‌ی این مسیر را با نشانی کامل فایل log مانند زیر تکمیل نمایید و آن را مقابل log_path در configuration.php قرار دهید:
/home1/amib/public_html/administrator/logs
علاوه بر امکان ویرایش فایل configuration.php، می‌توانید به بخش Global Configuration در تنظیمات جوملا مراجعه کنید و مقدار  Path to Log Folder را با عبارت فوق جایگزین نمایید
  • امیرمسعود ایرانی

رفع مشکل ترجمه‌ها در نسخه جوملا 3.7

امیرمسعود ایرانی | شنبه, ۱۶ ارديبهشت ۱۳۹۶، ۰۵:۰۴ ب.ظ | ۰ نظر

آخرین به روزرسانی جوملا تغییراتی در سیستم ترجمه‌ی خود ایجاد کرده است که طبق آن برای خواندن فایل‌های ترجمه از دستور پیش‌فرض php با نام parse_ini_file استفاده می‌نماید.

این دستور در برخی هاست‌های اشتراکی با تصور افزایش امنیت غیرفعال شده است و به همین دلیل اگر جوملای خود را به آخرین نسخه به‌روزرکنید، عبارت‌های بخش مدیریت و برخی عبارت‌های موجود در ظاهر سایت به صورت ناخوانا نمایش داده می‌شوند.

برای رفع این مشکل به صورت موقتی لازم است تا فایل

libraries/joomla/language/language.php

را ویرایش کنید و در خط ۸۳۳ عبارت

$strings = @parse_ini_file($filename);
را با عبارت زیر جایگزین نمایید.
$strings = FOFUtilsIniParser::parse_ini_file($filename, true);
تا زمانی که این اشکال در هسته‌ی جوملا اصلاح نشود، پس از هر به روزرسانی لازم است تا تغییر فوق را به صورت دستی اعمال نمایید.

  • امیرمسعود ایرانی

طراحی فروشگاه اینترنتی با جوملا

امیرمسعود ایرانی | دوشنبه, ۱۴ تیر ۱۳۹۵، ۰۳:۱۰ ق.ظ | ۰ نظر

جوملا یکی از سیستم‌های مدیریت محتوای محبوب در دنیای وب است. برای طراحی فروشگاه اینترنتی با استفاده از جوملا، ابزارهای و روش‌های متنوعی وجود دارد.

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

بیشتر سیستم‌های فروشگاهی در جوملا برای سایت‌هایی در ابعاد کوچک و متوسط مناسب هستند و پیش از انتخاب این گزینه، بررسی گزینه‌های دیگر مانند سیستم‌های فروشگاهی و افزونه‌های فروشگاهی در سایر CMSها مانند وردپرس و دروپال لازم است.

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

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

  • امیرمسعود ایرانی

کاهش حجم دیتابیس جوملا

امیرمسعود ایرانی | پنجشنبه, ۲۶ شهریور ۱۳۹۴، ۱۱:۴۹ ق.ظ | ۱ نظر

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

در ادامه به سه دلیل متداول و راه برطرف کردن آن‌ها می‌پردازیم.


۱- افزایش حجم جدول کاربران

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

این مطالب علاوه بر پر کردن حجم پایگاه‌داده‌ی شما، در رتبه‌ی SEO سایت شما نیز ممکن است اثر منفی داشته باشند.

برای برطرف کردن این اشکال، به بخش کاربران جوملا مراجعه کنید و چنانچه مشاهده کردید که صدها و هزارها کاربر در این بخش وجود دارد، ابتدا به بخش تنظیمات مراجعه کنید و ثبت نام را غیرفعال کنید. در صورتی که کاربران عادی باید بتوانند در سایت شما ثبت نام کنند، حتما از یک سیستم Captcha قدرتمند برای جلوگیری از عملکرد ربات‌ها استفاده کنید.

برای امنیت بیشتر می‌توانید فعال‌سازی کاربران را توسط مدیر انجام دهید تا جلوی ورود ربات‌های مزاحم گرفته شود

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


۲- افزایش حجم جدول Session ها

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

در حالتی که ورودی سایت شما زیاد است. کار خاصی قابل انجام نیست. ولی اگر مدت زمان نگهداری Session به صورت اتفاقی یا عمدی طولانی تعریف شود، حجم این جدول افزایش پیدا می‌کند.

برای اصلاح این اشکال به بخش تنظیمات جوملا و سربرگ اصلی مراجعه کنید. سپس بررسی کنید که مقدار Session Lifetime روی عددی منطقی مثل ۶۰ تنظیم شده باشد.

تنظیم Session Lifetime روی ۶۰ به این معنی است که هر کاربر چنانچه در فاصله‌ای بیش از ۶۰ دقیقه به سایت سربزند، مانند این است که یک کاربر جدید است و کمتر از این مدت، در سایت شناخته شده باقی می‌ماند.


۳- افزایش حجم جدول Advanced Search

جوملا برای افزایش سرعت جستجو داخل متن‌های شما، هر محتوای وارد شده را به صورت کلمه به کلمه در جداولی فرعی ذخیره می‌کند تا در هنگام جستجو، پیدا کردن کلمات مورد نظر کاربر در کمترین زمان ممکن به انجام برسد. در صورتی که حجم مطالب سایت شما زیاد و متنوع باشد، حجم این جدول‌ها افزایش چشمگیری پیدا می‌کند.

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

ولی چنانچه جستجو از امکانات حاشیه‌ای سایت شما به حساب می‌آید، می‌توانید با مراجعه به منوی کامپوننت‌ها، سپس Advanced Search سپس کلیک روی دکمه‌ی Purge اطلاعات ذخیره شده در این جدول‌ها را حذف کنید.

  • امیرمسعود ایرانی

فعال کردن نشانی‌های seo به زبان فارسی در جوملا

امیرمسعود ایرانی | يكشنبه, ۱۴ دی ۱۳۹۳، ۱۲:۴۴ ب.ظ | ۰ نظر

نشانی‌های seo friendly در جوملا به صورت پیش‌فرض غیرفعال هستند. با انجام دو تنظیم می‌توانید نشانی صفحات خود را به صورت فارسی درج کنید تا از مزایای بهینه‌سازی موتورجستجو در urlها بهره‌مند شوید

برای انجام این کار مراحل زیر را دنبال کنید

در قسمت مدیریت جوملا روی منوی «سیستم» و سپس «تنظیمات کلی» کلیک کنید

در سربرگ «سایت» دو گزینه‌ی «آدرس های بهینه برای موتورهای جستجو» و «نام مستعار یونیکد» را فعال کنید تا این قابلیت در سایت شما فعال شود.

پس از فعال‌سازی این گزینه، نشانی‌های SEO Friendly در منوها نیز باید بازنویسی شوند تا مطابق خواسته‌ی شما به نمایش درآیند.

بنابراین بهتر است پیش از شروع به ایجاد منوها، این گزینه‌ها فعال شده باشند.


سئو چیست؟

  • امیرمسعود ایرانی

وردپرس یا جوملا

امیرمسعود ایرانی | يكشنبه, ۹ شهریور ۱۳۹۳، ۱۱:۱۸ ق.ظ | ۱ نظر

وردپرس و جوملا دو سیستم مدیریت محتوا هستند که از جهت‌هایی با یکدیگر شباهت و از جهت‌هایی با یکدیگر تفاوت دارند.

موارد استفاده، مزیت‌ها و معایب این دو سیستم، مطالبی هستند که در این نوشته به آن‌ها خواهیم پرداخت.

تفاوت‌های وردپرس و جوملا

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

برای مثال می‌توان یک صفحه‌ی اصلی با موضوع اخبار درج شده در سایت به وجود آورد و در بخش‌های پایین و بالای صفحه، ماژول‌هایی با موضوع‌های تبلیغات، فایل‌های دانلودی، منوها و ... را درج کرد.

اگرچه وردپرس نیز این امکانات را در اختیار طراح سایت قرار می‌دهد، ولی امکانات جانبی مانند مدیریت دسترسی‌ها و برخی دیگر از تنظیمات را به راحتی در اختیار شما قرار نمی‌دهد.

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

مدیریت جوملا برای کاربران تازه‌کار کاری بسیار دشوار است. در عوض، یادگیری استفاده از بخش‌های مدیریت وردپرس بسیار آسان و در عرض زمانی کوتاه امکان‌پذیر است.

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

ایجاد یک قالب برای جوملا با توجه به سیستم ماژولی آن کاری آسان و سریع است. در مقابل تولید یک قالب برای وردپرس به زمان و تخصص بیشتری نیازمند است.

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

وردپرس توسط جامعه‌ی بسیار بزرگی از برنامه‌نویسان و کاربران استفاده می‌شود. این موضوع، یافتن راه‌حل‌ها و ابزارهای مورد نیاز برای وردپرس را ساده‌تر از جوملا می‌نمایاند. در هنگام استفاده از جوملا گاهی یافتن راه‌حل برای مشکلات بسیار مشکل خواهد بود.

استفاده از جوملا برای سایت‌هایی که هدف تجاری، شرکتی و سازمانی دارند مناسب‌تر به نظر می‌رسد. با این حال، استفاده از وردپرس هم هر چند برای برخی نیازها مناسب و شدنی است، ولی ممکن است نیازمند صرف زمان بیشتری باشد.

نصب و راه‌اندازی وردپرس بسیار ساده است. در کمتر از پنج دقیقه می‌توان یک سایت وردپرسی قابل استفاده را نصب و راه‌اندازی و استفاده کرد. ولی یک سایت جوملا به تنظیمات، تغییرات و سفارشی‌سازی‌های بیشتری نیازمند است.

وردپرس از نظر پایداری و امنیت در شرایط بهتری به سر می‌برد. استفاده‌ی بدون دقت از جوملا یا برخی از افزونه‌های آن می‌تواند امنیت سایت شما را در خطر بیندازد.

نتیجه‌گیری

وردپرس و جوملا دو سیستم بالغ در تولید محتوا هستند. انتخاب ابزار مناسب در هر مورد استفاده بر اساس نیازها و شرایط موجود انجام می‌پذیرد. هرچند سفارشی کردن هر دو سیستم به گونه‌ای که بتوانند کارایی سیستم دیگر را داشته باشند ممکن است، ولی زمان و هزینه‌ی صرف شده و همچنین کارایی سیستم نهایی یکسان نخواهد بود.


طراحی سایت با جوملا

طراحی سایت با وردپرس

  • امیرمسعود ایرانی

انتخاب بین اوپن‌کارت و پرستاشاپ

امیرمسعود ایرانی | چهارشنبه, ۱۴ اسفند ۱۳۹۲، ۰۴:۲۲ ب.ظ | ۱ نظر

- این یک مقایسه‌ی تجربی است نه علمی -


در طی مطالعات و جستجوها و بررسی‌هایی که انجام دادم، برای راه‌اندازی فروشگاه اینترنتی دو گزینه‌ی OpenCart و PrestaShop را پیدا کردم که از محبوبیت بیشتر و کاربران بسیاری برخوردار هستند. در ادامه تلاش می‌کنم، حس و تجربه‌ام را در مورد این دو سیستم یادداشت کنم.


امکانات

از نظر امکانات، پرستاشاپ به طور مشخصی، امکانات گسترده‌تری دارد. البته این امکانات ممکن است در بسیاری از پروژه‌ها مورد استفاده قرار نگیرد. اوپن‌کارت، تقریبا تمام نیازهای اولیه برای راه‌اندازی یک فروشگاه را پوشش می‌دهد.


بانک افزونه‌ها

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

افزونه‌های خوب و مهم موجود در سایت پرستاشاپ و اوپن‌کارت عمدتا تجاری هستند. قیمت افزونه‌های پرستاشاپ به طور تقریبی حدود ۷۰-۸۰ دلار است در حالی که افزونه‌های اوپن‌کارت به طور متوسط ۲۰ دلار قیمت دارند.

ظاهرا کنترل تیم توسعه روی افزونه‌های پرستاشاپ بسیار بهتر است. به همین دلیل، کیفیت و اطمینان به افزونه‌های پرستاشاپ بالاتر به نظر می‌رسد.


توسعه‌ی افزونه‌های جدید

در شکل توسعه‌ی افزونه‌های جدید، اوپن‌کارت یک فاجعه است. برای اضافه کردن یک افزونه‌ی جدید، باید چندین فایل را در شاخه‌های مختلف و پیش‌فرض اوپن‌کارت کپی کنید ! برای تغییر دادن کارایی‌های پیش‌فرض هم دو راه دارید. یا تغییر فایل‌های اصلی ! یا استفاده از افزونه‌ی VQMod که خود یک فاجعه‌ی دیگر است کمک بگیرید.

در طرف مقابل، پرستاشاپ، برای هر افزونه یک شاخه‌ی مجزا اختصاص می‌دهد و با استفاده از Hookهای آن می‌توانید، عملکردهای هسته را تغییر دهید.

فکر می‌کنم عبارت «فاجعه» به خوبی وضعیت اوپن‌کارت را شرح ندهد، برای انتقال بهتر حس موجود از عبارت «هرکی‌هرکی» هم می‌شود استفاده کرد :)


بهینه‌سازی موتور جستجو( SEO )

هر دو سیستم امکاناتی برای SEO در اختیار صاحب فروشگاه قرار می‌دهند. امکانات و کارایی پرستاشاپ در SEO بهتر از اوپن‌کارت است.


کارایی

با توجه به کیفیت کدنویسی، به نظر می‌رسد اوپن‌کارت در حجم بالای تراکنش‌ها آسیب‌پذیر باشد.


سیستم قالب‌نویسی

شکل توسعه‌ی قالب در هر دو محصول شباهت‌های زیادی به یکدیگر دارد. جز اینکه در پرستاشاپ از Smarty برای توسعه‌ی قالب کمک گرفته می‌شود. این ویژگی می‌تواند سرعت کدنویسی و قابلیت توسعه‌پذیری قالب‌ها را افزایش دهد.


بخش مدیریت

ساختار و شیوه‌ی کدنویسی در پرستاشاپ بهتر و بهینه‌تر است و از این جهت هم اوپن‌کارت نمره‌ی خوبی دریافت نمی‌کند.


مستندات

در مورد کیفیت مستندات، پرستاشاپ باز هم گوی سبقت را از اوپن کارت می‌رباید.


یکپارچه‌سازی

هر دو سیستم دارای افزونه‌هایی تجاری و رایگان برای یکپارچه‌سازی با سیستم‌های دیگر مثل وردپرس و جوملا هستند. در این زمینه هم پرستاشاپ سازگاری بهتری با سیستم‌های دیگر دارد.


-------------------------------


نتیجه‌گیری

اگر به یک فروشگاه معمولی بدون امکانات خاص و با تعداد محصولات محدود فکر می‌کنید، اوپن‌کارت گزینه‌ی قابل قبولی است.

ولی اگر به امکانات خاص نیازمند هستید و می‌خواهید یک فروشگاه به معنی واقعی در اختیار داشته باشید، پرستاشاپ گزینه‌ی نهایی شماست.

  • امیرمسعود ایرانی