it-swarm.asia

هل يمكنني إنشاء عناصر واجهة مستخدم السحب والإفلات مثل iGoogle في WordPress؟

أرغب في إنشاء شيء مثل iGoogle في WordPress ، حيث يمكنني سحب عناصر واجهة المستخدم وإسقاطها. كيف يمكن أن يتم ذلك في HTML 5؟

1
MsManiya

هذا سؤال جيد. بشكل عام ، أتفق مع EAMann - سيكون هذا مناسبًا بشكل أفضل في مناقشة عامة. عندما أسألك السؤال هنا ، سأقدم لك مقاربة وورد محددة قد ترغب في استخدامها.

في سياق وورد ، "القطعة" من الواضح أن لها معنى محدد. يتميز نظام واجهة الشريط الجانبي لـ Wordpress بمرونة عالية ويستفيد من كونه نظامًا ثابتًا به عدد كبير من التطبيقات المصغرة المتاحة. هذا يجعلها مكانًا معقولًا للبدء. يمكنك ، على سبيل المثال ، إنشاء قالب يحتوي على أشرطة جانبية متعددة مرتبة بجانب بعضها البعض.

تصميم الحاجيات الخاصة بك ينبغي أن يكون سهلا بما فيه الكفاية. لجعلها قابلة للسحب ، قابلة للطي ، قابلة للتحرير ، إلخ. أوصي هذا البرنامج التعليمي ، والذي يوضح هذه التقنيات مع واجهة المستخدم jQuery.

إنها الآن صعبة بعض الشيء. أفترض أنك تريد أن يتمكن كل مستخدم من تكوين عناصر واجهة المستخدم الخاصة به وأن هذه التغييرات يجب أن تستمر. (إذا لم يكن أي من هذين المطلبين ضروريًا ، فسيصبح الأمر أسهل كثيرًا). هذا أمر صعب - لا يمكننا استخدام نظام أداة Wordpress لتخزين هذه التفضيلات ، ولكن يمكننا الذهاب إليها من أجل الإلهام.

إذا كان لديك PhpMyAdmin (أو ما شابه) مثبتًا ، فانتقل إلى قاعدة بيانات Wordpress وقم بتنفيذ ما يلي:

SELECT *
FROM `wp_options`
WHERE `option_name`
REGEXP '^widget_'
LIMIT 0 , 30

يجب أن تحصل على مجموعة كاملة من النتائج مع صفائف PHPمخزنة للحصول على التفاصيل. إذا كان كل مستخدم قادرًا على تعيين عناصر واجهة المستخدم الخاصة به ، فيمكنك استخدام هذا التنسيق ، ولكن إلحاق معرف مستخدم بنهاية اسم الخيار. يمكنك كتابة قطعة بسيطة من AJAXy javascript لإرسال تفاصيل ترتيب القطعة في كل مرة يتغير فيها. سيقوم المتلقي PHP بتحديث قاعدة البيانات وفقًا لذلك.

هذه طريقة واحدة لحفظ بيانات المستخدمين ، لكن كيف نسترجعها ونعرضها مرة أخرى؟ شخصيا ، اسمحوا لي أن وورد تخدم الافتراضات عادة في البداية. (ربما باستخدام تراكب CSS و/أو أداة دوران للتقدم.) ثم أطفئ طلبًا آخر [AJAX) وقم بتحميل التطبيق المصغّر الذي حدده المستخدم. على وجه التحديد ، سأقوم بتحميل الترتيب أولاً ، ثم أحمل البيانات بشكل فردي (عبر AJAX مرة أخرى) في كل مربع. هذا من شأنه تسريع وقت التحميل المتصورة.

لذلك نحن نذهب. عذرًا ، إنها إجابة عالية المستوى ، لكنها سؤال بعيد المدى. آمل أن أكون قد قدمت لك بعض الأفكار. حظا سعيدا!

ملاحظة: إذا كنت تعمل هذا ، فأنا أوصي بتوزيعه كمكون إضافي.

3
Tom Wright