انتقال دستی اطلاعات جوملا به یک سایت جدید

یکی از بهترین cms های رایگان و منبع بازی که تا کنون ارائه شده Joomla است. این cms با استفاده از php و به صورت کاملا شئ‌گرا و تحت مدل MVC طراحی شده و طبق معمول از پایگاه داده MySQL استفاده می‌نماید.
برخی تصور می‌کنند که mambo یکی از نگارشهای جوملا است، اما در حقیقت، این جوملا است که در سال 2005 از mambo برگرفته شد.
از جمله امکانات این cms می‌توان به مواردی مانند مدیریت مطالب و صفحات ایستا و پویا، وبلاگ، مدیریت قالب، نصب انواع افزونه‌ها، انواع منوها و ساختار‌های سایت، RSS، ایجاد PDF، حافظه موقت، نظرسنجی، رای‌گیری، تقویم، انواع جستجو، بخش‌بندی و مجموعه‌سازی و موارد بسیار زیاد دیگری اشاره نمود.
همانطور که مشاهده می‌کنید امکانات این CMS خیلی بیشتر از وردپرس است، چرا که اصولا جوملا برای ایجاد سایت و پورتال طراحی شده، اما هدف WordPress ایجاد وبلاگ است.
البته قابل ذکر است که جوملا به هیچ وجه، از انعطاف‌پذیری بالای وردپرس در مدیریت مطالب و محتوا برخوردار نیست. کسانی که از وردپرس استفاده می‌کنند، به محض تکمیل مراحل نصب آن می‌توانند با انتشار اولین مطلب، کار با cms را آغاز کنند، اما پس از نصب جوملا، ابتدا باید تنظیمات اولیه آن را به انجام رساند. (که البته این مطلب تا حدودی هم به دلیل تفاوت در نوع کاربری آنها است)
یکی از قابلیت‌های بسیار مهمی که نبود آن در جوملا تا حد زیادی آزار دهنده است، فقدان امکان Export و Import تنظیمات و مطالب است. در صورت نیاز به کپی کردن بخشی از مطالب یا منوها به یک سایت جدید، پشتیبان‌گیری از داده‌ها و یا بازسازی سایت، جوملا نمی‌تواند هیچ کمکی به شما بکند.
اما راه حل این مشکل چیست؟
  1. استفاده از افزونه‌های پشتیبان‌گیری که معمولا خواسته شما را برآورده نمی‌کنند.
  2. انتقال جداول به صورت دستی.
هدف ما هم بررسی راه‌حل دوم است.
برای انتقال داده‌ها به صورت دستی، باید با استفاده از PhpmyAdmin در MySQL به دیتابیس جوملا وارد شده و از جداول زیر، اسکریپت خروجی بسازید:
jos_categories، jos_content، jos_content_frontpage، jos_menu، jos_menu_types، jos_modules، jos_modules_menu، jos_sections، jos_templates_menu
و همینطور در صورت نیاز از جداول:
jos_weblinks، jos_contact_details، jos_content_rating
معمولا برای insert کردن اسکریپتها به جداول سایت جدید مشکل خاصی بوجود نمی‌آید، مگر اینکه در سایت جدید هم قبلا اطلاعات دیگری ثبت کرده باشید (که معمولا همینطور است). در این صورت باید با بررسی اسکریپت تولید شده، از بازنویسی شدن فیلد id در جداول جلوگیری کنید.
در صورت تغییر مقادیر id در دستورات insert، باید مقدار آنها در جداول رابطه‌ای مانند jos_modules_menu هم اصلاح شود.
روشن است که این روش برای کسانی مناسب است که با Mysql و قوانین پایگاه داده به اندازه کافی آشنا باشند.

About محمد شمس

برنامه‌نویس، طراح انیمیشن و علاقمند به هوش مصنوعی

2 Comments

  1. سلام. اینطور فقط با خطا مواجه میشویم، قالب جدیدم با این روش کلا بهم ریخت. راه دیگری وجود دارد؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


9 × 1 =