Laravel-datatables: قام Laravel بإرجاع عنصر html كنص

تم إنشاؤها على ٣١ يوليو ٢٠١٧  ·  33تعليقات  ·  مصدر: yajra/laravel-datatables

تعرض جداول بيانات Laravel HTML كنص استخدمت فيه rawColumns و escapeColumns ولكنني لا أعمل

من فضلك يا له من حل وشكرا

الرجاء العثور على الصور أدناه
dara
dara2

مقتطف رمز المشكلة

تفاصيل النظام

  • نظام التشغيل
  • إصدار PHP
  • إصدار Laravel 5.3.1
  • Laravel-Datatables الإصدار 7.9.0
bug

التعليق الأكثر فائدة

جرب -> escapeColumns ('') بدلاً من ذلك ، ولكن يجب أن تعمل المصفوفة الفارغة أيضًا.

ال 33 كومينتر

مرحبا،

إنه أمر طبيعي ، escapeColumn مخصص للهروب من الأعمدة ، لذلك تم إفلاته.

ولكن ، ماذا علي أن أفعل لإعادة عنصر HTML؟
شكرا لردكم

يمكنك استخدام rawColumns(['link'])

لقد استخدمتها ، ظهرت هذه المشكلة نفسها

حاول استخدام الإصدار 7.9.5 ، إنه يعمل بالنسبة لي ، ربما يكون خطأ حديثًا.

تعديل :
أعتقد أنني وجدت الخطأ ، هناك array_diif_key داخل escapeColumns في DataProcessor
جرب ['link' => true] أو شيء من هذا القبيل.

لقد استخدمت الإصدار الأخير من جدول البيانات Laravel ،
حاولت أيضًا ['link' => true] ولكن لا يعمل ،
هل يجب علي ترقية إصدار Laravel إلى 5.4؟

لا أعتقد أنه سيحل مشكلتك

ماذا علي أن أفعل برأيك؟

هل جربت escapeColumns (['link' => true) أو rawColumns (['link' => true])؟

نعم إنه كذلك.

أعني أي واحد اختبرت؟
يمكنك تجربة escapeColumns ([]) أيضًا.

اختبرت كلاهما

يجب أن تقوم escapeColumns ([]) بتعطيل ميزة الهروب على كافة الأعمدة كحل بديل

لقد جربت كل الحلول ولكن لم يتغير شيء

و escapeColumns (خالية)؟

نفس المشكلة،
لدي سؤال ، لماذا يعرض عمود الإجراء HTML بينما لا يعرض الرابط؟

يجب أن يعمل أنا لا أفهم.
قمت بإزالة جميع مكالمات escapeColumns؟

كيف يمكنني إزالة كافة استدعاءات escapeColumns؟ و لماذا؟

أعني داخل الكود الخاص بك ،
لأنه إذا كان لديك عمل rawColumns
ثم افعل العكس مع escapeColumns في مكان آخر في التعليمات البرمجية الخاصة بك.

الكود الخاص بي الآن هو
إرجاع جداول البيانات :: من ($ row)
-> addColumn ("رابط" ، " عمود Html
-> addColumn ('إجراء' ، ' Html Column
-> escapeColumns (خالية)
-> جعل (صحيح) ؛

جرب -> escapeColumns ('') بدلاً من ذلك ، ولكن يجب أن تعمل المصفوفة الفارغة أيضًا.

نفس المشكلة ، أنا أيضًا لا أفهم سبب نجاح الإجراء ولكن الرابط لا

يعمل الإجراء لأنه لا يتم إفلاته افتراضيًا

شكرا على مجهودك،

هل توجد أي طريقة لإيجاد حل؟

أصدرت التصحيح v7.9.8. هل يمكنك التحقق مما إذا كان يعمل على حل المشكلة؟ شكرا لك وآسف للإزعاج.

كيف يمكنني الترقية إلى الإصدار الأخير؟

أعتقد أنك يجب أن تجرب:

[
    'link' => 'link'
];

الإصدار الأخير لا يصلح هذه المشكلة ، بالنسبة لي.

إذا فعلت :

->escapeColumns(['action' => 'action'])
->rawColumns(['action'])

تم تخطي عمود الإجراء ، وإذا قمت بما يلي:

->escapeColumns(['action' => 'action'])
->rawColumns(['action => 'action'])

لم يتم هروب العمود بعد الآن.

كيف يمكنني تحديث الإصدار الخاص بي إلى 7.9.8

يمكنك تغيير composer.json وتعيين جداول بيانات yajra / laravel إلى 7.9.8
ثم قم بتحديث الملحن yajra / laravel-datatables

أو يمكنك أن تطلب من الملحن yajra / laravel-datatables 7.9.8 مباشرة ، وسوف يغير composer.json ويحدث الحزمة

حسنًا ، سأحاول ذلك
شكرا لك

أخيرًا ، إنه يعمل ،
شكرا ياجري و IK77
لقد استخدمت escapeColumn ['link'] في الإصدار الأخير ، فمن المحتمل أنه يعمل

للإصدارات الأعلى من 8 ، عليك الذهاب إلى ملف config / datatables.php .... وإضافة اسم العمود الخاص بك في .... raw => ['name_of your_column']

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات