تصفية عناصر المكرر بناءً على حالة/دور المستخدم
-
25-09-2019 - |
سؤال
لديّ متطلبات صعبة حيث أحتاج إلى تصنيف المستندات المرفقة بمنتج ما ، متاح للتنزيل ، استنادًا إلى حالة المستخدم الذي يعرض المنتج. يعرض أي موقعي قائمة بالمنتجات ، والنقر فوق واحد يعرض صفحة تفاصيل المنتج ، وتتضمن هذه الصفحة قائمة مستندات تتعلق بالمنتج ، مثل أوراق البيانات ، أدلة المستخدم ، إلخ.
لقد طُلب مني تجميع المستندات في ثلاث فئات من التوافر ، أي تلك المتاحة بحرية لجميع المستخدمين ، بما في ذلك مجهول ؛ تلك المتاحة لتسجيلها على المستخدمين ؛ وتلك المتاحة للمستخدمين المجهولين الذين يقدمون معلومات الاتصال قبل تنزيل المستند ، ويفترض أن تعزز خيوط المبيعات.
من السهل جدًا ، ولكن يبدو أن المجهول المجهول والمتوفرات سهلة للغاية ، لكن الثالث يبدو صعبة بعض الشيء بالنسبة لي. سؤالي الأول هو ، هل هناك طريقة يمكنني من خلالها تصفية المستندات لتسجيلها فقط على المستخدمين دون التثبيت في itemDatabound أو شيء من هذا القبيل ، وسؤالي الثاني هو ، ما هو الموصى به للحالة التي يجب على المستخدم توفير معلومات الاتصال لتنزيل مستند؟
في السؤال الثاني ، تجاوزت ذهني لتسجيل المستخدم فعليًا ، ولكن بدون الاضطرار إلى زيارة صفحة تسجيل المستخدم الجديدة ، ثم لديّ تصفية قائمة على الدور. حاليًا تقوم عملية تسجيل المستخدم الجديدة تلقائيًا بإضافة دور العضو إلى جميع المستخدمين الجدد. المستخدمون الذين أسجلوا "بهدوء" ، فقط حتى يتمكنوا من تنزيل مستند ، لن يتم تعيين دور العضو ، وتمييزهم عن الأعضاء المسجلين عادة. ما هي الأساليب الأخرى التي يمكنني اتخاذها؟
المحلول
يعتمد الكثير من هذا التنفيذ على ما تريد إنجازه بالضبط وكيف تقوم بذلك.
على سبيل المثال ، إذا لم أتمكن من الوصول إلى المستند ، فهل يجب أن أرى الرابط؟
إذا كان التنفيذ الخاص بك هو أن جميع المستخدمين يجب أن يكونوا قادرين على رؤيته ، ولكن العمل الفعلي المتمثل في "الحصول عليه" يعتمد على الدور الفردي أو العضوية ، فيمكنك حلها بسهولة إلى حد ما عن طريق تنفيذ "معالج" لتنزيل المستندات المضمنة ، بهذه الطريقة لا تقدم رابط ملف مباشر. يمكن لهذا المعالج بعد ذلك التحقق من صحة الأمان ، إذا لم يُسمح لهم ، فيمكنه نقلهم إلى صفحة تسجيل الدخول أو التسجيل حسب الحاجة.
إذا لم ير المستخدمون المستندات حتى يفيوا بالمتطلبات ، فسأقوم بعد ذلك بالتصفية قبل ربط المكرر الخاص بك.