كيف يمكن معالجة تحويل CMS مخصص باستخدام قاعدة بيانات قائمة على ملف النص إلى Drupal؟

StackOverflow https://stackoverflow.com/questions/2550139

سؤال

اليوم فقط بدأت في استخدام Drupal لموقع أقوم بتصميمه/تطويره. لموقعي الخاص http://jwm-art.net كتبت CMS غير الودية في PHP. تجربتي المختصرة مع دروبال تجعلني أرغب في التحويل من CMS التي كتبتها. إن CMS التي تتمثل طريقة النشر تلقائيًا في نشر المحتوى تلقائيًا عن طريق تسجيل الدخول عبر SSH واستخدام Nano لإنشاء ملف نصي عادي بتنسيق مثل SO*:

    head<<END_HEAD
title   = Audio
keywords= open,source,audio,sequencing,sampling,synthesis
descr   = Music, noise, and audio, created by James W. Morris.
parent  = home
    END_HEAD

    main<<END_MAIN
text<<END_TEXT
Digital music, noise, and audio made exclusively with
@=xlink=http://www.linux-sound.org@:Linux Audio Software@_=@.
  END_TEXT

image=gfb@--@;Accompanying image for penonpaper-c@right
ilink=audio_2008
br=
ilink=audio_2007
br=
ilink=audio_2006
    END_MAIN

info=text<<END_TEXT
I've been making PC based music since the early nineties - 
fortunately most of it only exists as tape recordings.
  END_TEXT

( http://jwm-art.net/dark.php؟p=audio - هناك ما يزيد قليلاً عن 400 صفحة. )

*شكل الجنين-الدخول الذي يأخذ بعض العمل منه ، قد كسر في ظروف غامضة. ولا يزال يتطلب الوصول إلى SSH لنسخ الملف إلى DAT DIR الرئيسي ولتحقق من أنني قد تذكرت بالفعل التنسيق بشكل صحيح ولم يسيء تنسيق الرمز (وهو ما هو عليه دائماً يفعل).

لا أرغب في إسقاط جميع المحتوى القديم (فقط بعض) ، ولكن مقدار العمل الذي سيشارك في تحويله ، في الاعتبار ، لم أستخدم دروبال ليوم واحد ، لم أكتب أي PHP لبضع سنوات ، ولديك معرفة صفر من SQL؟

كيف يمكنني تعيين التجريد في الملف النصي أعلاه حتى يتمكن المستخدم من تحديد هذه العناصر في آلية نشر الصفحات لإنشاء صفحة؟

كيف يمكن لفريق المطورين معالجة هذا؟ كيف يمكن فعل ذلك لشخص واحد في وقت فراغه؟

هل كانت مفيدة؟

المحلول

يمكنك تحليل النص مع PHP واستخدام API Drupal لحفظه ككائن عقدة.

http://api.drupal.org/api/function/node_save

شاهد هذه المسألة المماثلة ، مما يخلق برمجيًا عقد دروبال:

وصفة لإضافة سجلات عقدة دروبال

دروبال 5: حقول CCK في نوع المحتوى المخصص

في الأساس ، يمكنك إنشاء كائن عقدة $ وتعيين القيم. ستقوم Node_save (عقدة $) بباقي العمل من أجلك ، وهي وظيفة drupal التي تنشئ سجل المحتوى وتتيح للوحدات النمطية الأخرى إضافة بيانات إذا لزم الأمر.

يمكنك أيضًا استخدام خدمات XML RPC ، إذا كان ذلك ممكنًا على الإعداد الخاص بك.

نصائح أخرى

نظرًا لأنك لم تكتب أي PHP لفترة طويلة ، وربما تكون في عجلة من أمرك ، أقترح عليك هذا النهج:

  • قم بتنزيل وتثبيت وحدة Drupal هذه: http://drupal.org/project/node_import
    تستورد هذه الوحدة البيانات - العقد والمستخدمين وإدخالات التصنيف وما إلى ذلك - إلى دروبال من ملفات CVS. اقرأ وثائقها وقضاء بعض الوقت لمعرفة كيفية استخدامه.
  • تحويل مدونتك إلى ملفات CVS. لسوء الحظ ، لا يمكنني مساعدتك كثيرًا في هذا الأمر ، لأن إدخالات المدونة الخاصة بك لها بنية معقدة. أعتقد أن كتابة رمز يحوله إلى ملفات CVS يستغرق نفس الوقت مثل إنشاء ملفات CVS يدويًا.
  • استخدم وحدة استيراد العقدة لاستيراد البيانات إلى موقع الويب الجديد.

بالطبع ستبقى بعض القضايا أنه يتعين عليك القيام بها يدويًا ؛ مثل إنشاء القوائم وما إلى ذلك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top