كيفية ضبط الترتيب في العقد الفرعية لهيكل الشجرة

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدي تمثيل شجرة للصفحات في تطبيق CMS.أفهم كيفية استمرار الشجرة في قاعدة البيانات.ومع ذلك، ليس لدي طريقة جيدة للقيام بما يلي:

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

أي اقتراحات؟

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

المحلول

سيتطلب تغيير الترتيب نفسه تخزين نوع من الطلب مع كل صفحة في قاعدة البيانات.من المحتمل أن تكون القيمة الأعلى/الأدنى الحالية +/- 1 نقطة بداية جيدة.بمجرد حصولك على هذا الترتيب، تصبح إعادة الترتيب عبارة عن حالة تبديل قيمتين أو تغيير قيمة صفحة واحدة لتكون بين صفحتين أخريين (أعتقد أنه يمكنك استخدام العوامات، ولكن قد تحتاج إلى إعادة الترقيم إذا قمت بتقسيمها أكثر من اللازم مرات).

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

نصائح أخرى

أ) لدي تطبيق CMS مشابه وأقوم بتخزين قيمة ترتيبية مع الصفحة لشجرة معينة وأقوم بالفرز بناءً على هذه القيمة - نظرًا لأن الكثير من صفحاتي تظهر في مواقع مختلفة تمامًا، يجب علي الاحتفاظ بالرقم الترتيبي مقابل صفحة/شجرة مزيج.

ب) أنا أيضًا أرغب في الحصول على طريقة أفضل للقيام بذلك.يقومون حاليًا بالنقر فوق العقدة في عرض الشجرة وفي شاشة الصفحة الرئيسية يمكنهم تحريك الصفحة.لقد حاولت السحب والإفلات باستخدام برنامج جافا سكريبت والحلول الأخرى ولكن المستخدمين لا يمكنهم أبدًا العمل معها دون الكثير من الإمساك باليد.سأكون مهتمًا بالردود على هذا.

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