اذهب إلى المحتوى

ابراهيم الخليل سماني

الأعضاء
  • المساهمات

    505
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    4

كل منشورات العضو ابراهيم الخليل سماني

  1. السلام عليكم, هل توجد بدائل مجانية مثل الخدمة التي يقدمها https://app.crisp.chat/ للرد على العملاء؟
  2. السلام عليكم بعد تهيئة مشروع بواسطة npm npm init كيف يمكن دمج كل من vitejs و tailwind شكرا
  3. السلام عليكم, لتطبيق قائمة جانبية تتوسع بالضغط على زر معيين وتعود بالضغط عليه مرة أخرى قمت بالتالي : const toggleBtn = document.getElementById("toggle"); const navMenu = document.querySelector('aside'); const container = document.getElementById('container'); function toggleOn(){ if(toggleBtn.classList.contains('toggle-on')){ toggleBtn.classList.remove('toggle-on'); toggleBtn.classList.add('toggle-off'); navMenu.classList.remove('w-[75px]'); navMenu.classList.remove('rounded-[40px]'); navMenu.classList.add('w-[250px]'); navMenu.classList.add('rounded-[20px]'); container.classList.remove('left-[70px]'); container.classList.add('left-[250px]'); }else{ toggleBtn.classList.remove('toggle-off'); toggleBtn.classList.add('toggle-on'); navMenu.classList.remove('w-[250px]'); navMenu.classList.add('w-[75px]'); navMenu.classList.remove('rounded-[20px]'); navMenu.classList.add('rounded-[40px]'); container.classList.remove('left-[250px]'); container.classList.add('left-[70px]'); } لاحظوا أنني أكثرت الإستعلامات هل هاذا يؤدي إلى بطئ الموقع وهل هناك فكرة أخرى بديلة لتطبيقها ولاحظوا أيضا أنني قمت بغيير عرض الحاوية من left-[70px] عندما تكون القائمة الجانبية غير موسعة أي تبدأ الحاوية من 70px يسار أما عندما تتوسع القائمة الجانبية وتاخد 250px جعلتها جعلت الحاوية تبدأ من اليسار ب250px left-[250] container.classList.remove('left-[70px]'); container.classList.add('left-[250px]');
  4. قلت لك في الأعلى إستخدمت الذي ذكرته أنت لكنني لم استخدم hidden بل إستخدمت opacity و z-index وبالcss عملت عادي أما tailwind لم تعمل معي, وتحققت من إصدار tailwind آخر إصدار أريد شرح عن كيفية إستخدام group-hover
  5. العنصر الأب هو عبارة list item داخله يوجد قائمة أردت جعلها تنسدل لما يمرر الماوس فوق العنصر الأب كما وضحت في الأعلى أخي عدنان لم أواجه مشكلة بإستخدام css لكن بإستخدام tailwind لم تضبط معي بحتث وجدت أنه يمكننا إستخدام group-hover على أي من العناصر الأبناء ليتم شيء ما لما يمرر الماس فوق أبوهم, وكما تلاحظ الأب عندي هو العنصر li صاحب الكلاس group أريد لما يمرر الماوس فوقه اغيير اعدادات العنصر الإبن الذي اعطيناه الكلاس mega-menu بحيث تظهر بعدما أخفيتها لم أواجه مشكلة بالcss لكن لم أعرف كيف استخدم ذلك بال tailwind <nav class="container relative"> <a href="#" class="logo">Logo</a> <ul class="main-nav"> <li><a class='' href="#">Home</a></li> <li><a class='' href="#">Other Links</a> </li> <li><a class='' href="#">Market</a></li> <li><a class='' href="#">About </a></li> <li><a class='' href="#">News</a></li> <li class="group"><a class='' href="#">Contact</a> <div class="mega_menu"> <ul class="links"> <li><a href="#">Link-1</a></li> <li><a href="#">Link-2</a></li> <li><a href="#">Link-3</a></li> <li><a href="#">Link-4</a></li> <li><a href="#">Link-5</a></li> </ul> </div> </li> </ul> </nav>
  6. السلام عليكم, عندي الكود التالي لقائمة منسدلة عند الهوفر على أحدى عناصر header : <nav class="container relative"> <a href="#" class="logo">Logo</a> <ul class="main-nav"> <li><a class='' href="#">Home</a></li> <li class="group"><a class='' href="#">Other Links</a> <div class="mega_menu"> <div class="image"> <img class="max-w-[18rem] hidden md:flex" src="{{ asset('storage/Logo.png') }}" alt=""> </div> <ul class="links"> <li><a href="#">Link-1</a></li> <li><a href="#">Link-2</a></li> <li><a href="#">Link-3</a></li> <li><a href="#">Link-4</a></li> <li><a href="#">Link-5</a></li> </ul> <ul class="links"> <li><a href="#">Link-6</a></li> <li><a href="#">Link-7</a></li> <li><a href="#">Link-8</a></li> <li><a href="#">Link-9</a></li> <li><a href="#">Link-10</a></li> </ul> </div> </li> <li><a class='' href="#">Market</a></li> <li><a class='' href="#">About </a></li> <li><a class='' href="#">News</a></li> <li><a class='' href="#">Contact</a></li> </ul> </nav> بإستخدام css تم العمل بنجاح لم بإستخدام tailwind لم انجح وحاولت بإستخدام group-hover لم انجح لانني لم افهم الفكرة جيدا .main-nav li .mega_menu { z-index: -1; opacity: 0; } .main-nav li:hover .mega_menu { z-index: 1; opacity: 1; } محاولتي الفاشلة بإستخدام tailwind : opacity-0 z-[-1] group-hover:z-10 group-hover:opacity-100
  7. شكرا لك أخي عدنان كيف اطبق مفهوم lazy loading هل فقط من خلال css loading="lazy" ؟ و أيضا شيء آخر وهو أنني مؤخرا قلت أعتمد على tailwind لانه إطار عمل وفي نفس الوقت وكأنك تكتب css خالصة ولم تعجبني طريقة ان اضع الكلاسات كلها في العنصر يصير منظر الشيفرة كبير وعند تعريب الصفحة مثلا اواجه مشاكل لهذا إستعملت : @tailwind base; @tailwind components; @tailwind utilities; @layer components { .btn-blue { @apply bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded; } } بعد ذلك أستخدم الكلاس الوحيد في العنصر لتطبيق (.btn-blue) -- وفي حالت أردت تنسيقات أخرى للغة العربية مثلا ماهي أفضل طريقة هل أنشئ ملف آخر مثل الأول وأغيير فيه فقط الإتجاهات هل يؤثر هذا على حجم الملفات وسرعة الموقع ؟ شكرا لك جزييل الشكر
  8. السلام عليكم, أحس دائما أن المواقع التي اصممها تتأخر بعض الشيء في التحميل, فهل من نصائح بخصوص إستخدام المكتبات و assets و أفضل صيغة للصور يجب إستخدامها لتحميل أسرع للموقع ؟ شكرا لكم
  9. كلمة السر تخزن بقاعدة البيانات مشفره باستعمال التشفير التالي: 'password' => Hash::make($input['password']), وعند الحصول على كلمة السر من قاعدة البيانات كيف نفك تشفيرها لمقارنتها بكلمة مرور مدخله من طرف المستخدم لإعادة التأكيد.
  10. السلام عليكم, أريد بناء تطبيق دردشة بسيط بحيث يتواصل كل مستخدم مع الآخر في غرفة خاصة واجهة مشكلة في إنشاء new conversation تضم مستخدمين , لتخطيط قاعدة البيانات عندنا فكرت فيما يلي : * كل مستخدم يمكن أن يكون له العديد من الغرف الخاصة (محادثات) و كل محادثة أيضا تضم أكثر من مستخدم العلاقة هنا **كثير لكثير** * كل مستخدم له العديد من الرسائل بينما كل رسالة تنتمي لمستخدم واحد العلاقة هنا ** واحد لكثير ** * العلاقة بين الغرف (المحادثات) و الرسائل هي كل رسالة تنتمي لمحادثة واحدة بينما كل محادثة يمكن ان يكون لديها العديد من الرسائل العلاقة هنا ** واحد لكثير ** الجداول : ** جدول المستخدمين : Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->string('phone'); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->foreignId('current_team_id')->nullable(); $table->string('profile_photo_path', 2048)->nullable(); $table->timestamps(); }); ** جدول الرسائل Schema::create('messages', function (Blueprint $table) { $table->id(); $table->text('message'); $table->foreignId('user_id') ->constrained(); $table->timestamps(); }); **جدول المحادثات Schema::create('conversitions', function (Blueprint $table) { $table->id(); $table->timestamps(); }); ** جدول كسر العلاقة كثير لكثير بين المحادثات و المستخدمين Schema::create('conversations_users', function (Blueprint $table) { $table->id(); $table->foreignId('conversation_id') ->constrained(); $table->foreignId('user_id') ->constrained(); $table->timestamps(); }); وستكون الدوال في النمادج على النحو التالي : class User extends Eloquent { public function conversations() { return $this->belongsToMany('Conversation'); } public function messages() { return $this->hasMany('Message'); } } class Message extends Eloquent { public function user() { return $this->belongsTo('User'); } public function conversation() { return $this->belongsTo('Conversation'); } } class Conversation extends Eloquent { public function messages() { return $this->hasMany('Message'); } public function users() { return $this->belongsToMany('User'); } }
  11. السلام عليكم, كيف يمكننا في لارافل إعداد الكوكيز وتمييز الزوار عن بعض مثلا عندما ننشئ نافدة حوار مع أحد الزوار تبقى هذه الحوارات محفوظة له كزائر في الموقع ... شكرا
  12. أعرف كل ما قلته أخي حسان لكن سؤالي كان حول ما الذي يؤثر على القيمة المرجعة من دالة العلاقة (Phone::find($id)->user)في حال مررت عمود آخر مثل ماورد في التوثيق, أعرف أن لارافل تلقائيا تفترض من خلال أسم اميثود أن المفتاح الرئيسي هو methodName_id وهاذي القيمة الأفتراضية للمعامل الثاني في حال إتبعنا العرف ,لكن الشيء الذي دعاني لطرح السؤال العبارة If the parent model does not use id as its primary key,// or you wish to find the associated model using a different column// يقول لك إذا كان الصنف الأب لا يستخدم id كمفتاح رئيسي أو أو ترغب في العثور على النموذج المرتبط باستخدام عمود مختلف هنا لم أفهم جيدا مثلا مررت كمعامل ثالت عمود البريد الإلكتروني ('email'), و صنف المستخدمين في هذه الحالة يستخدم id كمفتاح رئيسي بشكل عادي معناه أنا الآن أرغي في العثور على النمودج المرتبط (User) بإستخدام عمود مختلف وهو email أرجوا أن تكون فهمتني
  13. السلام عليكم, في الصورة أعلاه من التوثيق الرسمي لإطار لارافل, تقول بأنه إذا كان الصنف User لايستخدم العمود id كمفتاح أولي أو كنا نرغب بالعثور على النمودج المرتبط بإستعمال عمود آخر نمرر معامل ثالت لعمود من نفس الننمودج, لم أفهم جيدا مايقصد بذلك, مثلا لدينا جدول User : $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->foreignId('current_team_id')->nullable(); $table->string('profile_photo_path', 2048)->nullable(); $table->timestamps(); ومررت أنا العمود email كمعامل ثالت : /** * Get the user that owns the phone. */ public function user() { return $this->belongsTo(User::class, 'foreign_key', 'email'); } ما الذي يؤثر على إسترجاع القيمة ؟ Phone::find($id)->user وشكرا لكم جمعة مباركة
  14. السلام عليكم, سبب المشكلة تعارضات في إصدار لارافل مثل ماقلت اخي عدنان, لهذا قمت بإلغاء التضمين للاصول عن طريق vite و ضمنتها كالتالي : <script src="{{ asset('js/app.js') }}"></script> <link rel="stylesheet" href="{{ asset('css/app.css') }}"> قبل ذلك لم ازل سطر التضمين عن طريق vit لهذا لم تحل المشكلة, شكرا
  15. السلام عليكم, طبقت جميع ماذكرت وعند تنفيد الأمر npm run build يظهر الخطأ التالي : شكرا لك
  16. نعم, شوف خويا عدنان "scripts": { "dev": "npm run development", "development": "mix", "watch": "mix watch", "watch-poll": "mix watch -- --watch-options-poll=1000", "hot": "mix watch --hot", "prod": "npm run production", "production": "mix --production" }, ضمنت يدويا في app <script src="{{ asset('js/app.js') }}"></script> <link rel="stylesheet" href="{{ asset('css/app.css') }}"> نفس المشكلة الصفحة guest تظهر عادي http://localhost:8000/login
  17. للأسف فعلت هذين الأمرين أخي عدنان من قبل وأعدتهم الآن, لابد وانها مشكلة أخرى, أرفقت لك مجلد المشروع إطلع عليه لو سمحت.
  18. السلام عليكم, الخطأ: في الآونة الأخيرة إستبدلت laravel محزِّم الوحدات webpack بــ vite, و أظن هو سبب المشكلة التي ظهرت لي, لا أدري بالضبط ما الخلل ولكنني أتوقع أنه تضارب بين الملفات داخل المشروع لأنه نزل مع المشروع webpack.mix.js و كذلك vite.conig.js إصدار لارافل Laravel Framework 9.22.1 اما في الإصدار السابق Laravel Framework 9.22.0 لم أواجه هذه المشكلة وتم إستخدام vite بشكل جيد, مجلد المشروع :b-store.rar
  19. السلام عليكم كما في العنوان كيف يمكن التحقق من حجم الشاشة داخل laravel (madia query) ؟
  20. جمعة مباركة إن شاء الله, معك حق أستاذ لهذا أردت رأيكم ولكن في النهاية الحزمة تقبل مصفوفة json بها كل اللغات المطلوبة, التوثيق الخاص بالحزمة https://spatie.be/docs/laravel-translatable/v6/basic-usage/getting-and-settings-translations
  21. السلام عليكم, أنشأت موقع laravel وفيه بعض العبارات في الواجهة الأمامية أردت جعلها قابلة للتعديل من خلال لوحة التحكم و أردتها كذلك بلغتين العربية و الإنجلزية, قمت ببعض الخطوات أود أن أتأكد منكم بأنها صحــيحة و إن كان شيء ما غير صحيح أو يحتاج إلى إضافة أخبروني به من فضلكم, أولا نصبت الحزمة ثم إستعملت السمة الخاصة بها في النمودج <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Spatie\Translatable\HasTranslations; class Front_end extends Model { use HasTranslations; protected $fillable = [ 'value_data', 'key_data', ]; public $translatable = ['value_data']; use HasFactory; } و أدخلت الحقل الخاص بالترجمة, لاحظوا أني إستخدمت حقلين وهما key_data و value_data و هذا لأن أتجنب كثرة الأعمدة المنشئة مثلا أنا عندي في الموقع Header_title ===> يحتاج إلى تعريب , Header_description ===> يحتاج إلى تعريب , about_title ===> يحتاج إلى تعريب , about_description ===> يحتاج إلى تعريب , message_title ===> يحتاج إلى تعريب , message_body ===> يحتاج إلى تعريب , ولكي أتجنب ذلك أنشأت حقلين مفتاح و قيمة بهذا الشكل : public function up() { Schema::create('front_ends', function (Blueprint $table) { $table->id(); $table->string('key_data' , 100); $table->text('value_data'); $table->timestamps(); }); } بحيث عند تخزين القيم قمت بالتالي : أنشأت متحكم, public function store(Request $request) { Front_end::create([ 'key_data' => $request->key_data, //يرسل على شكل حقل مخفى بقيمة محددة 'value_data' => [ 'en' => [$request->title_en , $request->description_en], 'ar' =>[$request->title_ar , $request->description_ar], ], ]); } الحقل key_data من المفترض أنه ثابت ويعبر عن إسم او شيء يدل الجملة المراد تعريبها في الموقع بحيث نستعمل الشرط where لجلب القية الموافقة له, فقط لأجرب إستعملت form بسيط : <div class="create_content my-36" > <h2>معلومات عامة عن الموقع</h2> <form class="my-12" method="POST" action=""> @csrf <input hidden name="key_data" type="text" value="header.info"> <input class="text-black " type="text" name="title_en" placeholder="title"> <textarea name="description_en" id="" cols="10" rows="10"></textarea> {{-- بالعربية --}} <input class="text-black " type="text" name="title_ar" placeholder="title"> <textarea name="description_ar" id="" cols="10" rows="10"></textarea> <input type="submit" value="حفظ" class="btn btn-primary"> </form> <h2>أخل تعريف عن الاقسام</h2> <form class="my-12" method="POST" action=""> @csrf <input hidden name="key_data" type="text" value="general.info"> <input class="text-black " type="text" name="title_en" placeholder="title"> <textarea name="description_en" id="" cols="10" rows="10"></textarea> {{-- بالعربية --}} <input class="text-black " type="text" name="title_ar" placeholder="title"> <textarea name="description_ar" id="" cols="10" rows="10"></textarea> <input type="submit" value="حفظ" class="btn btn-primary"> </form> </div> لاحظو hedden input الخاص بالمفتاح key_value في نمودج الإرسال الأول أعطيته القيمة header.info و الثاني general.info. سيتم تخزين البيانات من الشكل التالي في قاعدة البيانات : في الموجه قمت بإستعلام بسيط : Route::get('/', function () { $data = Front_end::whereIn('key_data' , ['header.info','general.info'])->get(); return view('welcome' , compact('data')); })->name('home'); يرجع لي مصفوفة ثنائية الأبعاد المستوى الأول 0 , 1 و و الآخر القيم و المفاتيح التي أبحث عنها : Illuminate\Database\Eloquent\Collection Object ( [items:protected] => Array ( [0] => App\Models\Front_end Object ( [connection:protected] => mysql [table:protected] => front_ends [primaryKey:protected] => id [keyType:protected] => int [incrementing] => 1 [with:protected] => Array ( ) [withCount:protected] => Array ( ) [preventsLazyLoading] => [perPage:protected] => 15 [exists] => 1 [wasRecentlyCreated] => [escapeWhenCastingToString:protected] => [attributes:protected] => Array ( [id] => 1 [key_data] => header.info [value_data] => {"en":["Grow your skills to advence your carer path","Lorem ipsum, dolor sit amet consectetur adipisicing elit. Nisi excepturi commodi aliquid culpa ipsa sit inventore accusamus eius in est."],"ar":["\u0642\u0645 \u0628\u062a\u0646\u0645\u064a\u0629 \u0645\u0647\u0627\u0631\u0627\u062a\u0643 \u0644\u062a\u0639\u0632\u064a\u0632 \u0645\u0633\u0627\u0631 \u062d\u064a\u0627\u062a\u0643 \u0627\u0644\u0645\u0647\u0646\u064a\u0629","\u0647\u0630\u0627 \u0627\u0644\u0646\u0635 \u0647\u0648 \u0645\u062b\u0627\u0644 \u0644\u0646\u0635 \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0633\u062a\u0628\u062f\u0644 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u0645\u0633\u0627\u062d\u0629\u060c \u0644\u0642\u062f \u062a\u0645 \u062a\u0648\u0644\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0646\u0635 \u0645\u0646 \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649\u060c \u062d\u064a\u062b \u064a\u0645\u0643\u0646\u0643 \u0623\u0646 \u062a\u0648\u0644\u062f \u0645\u062b\u0644 \u0647\u0630\u0627 \u0627\u0644\u0646\u0635 \u0623\u0648 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0627\u0644\u0646\u0635\u0648\u0635 \u0627\u0644\u0623\u062e\u0631\u0649 \u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0632\u064a\u0627\u062f\u0629 \u0639\u062f\u062f \u0627\u0644\u062d\u0631\u0648\u0641 \u0627\u0644\u062a\u0649 \u064a\u0648\u0644\u062f\u0647\u0627 \u0627\u0644\u062a\u0637\u0628\u064a\u0642.\r\n\u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0639\u062f\u062f \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0641\u0642\u0631\u0627\u062a \u064a\u062a\u064a\u062d \u0644\u0643 \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649 \u0632\u064a\u0627\u062f\u0629 \u0639\u062f\u062f \u0627\u0644\u0641\u0642\u0631\u0627\u062a \u0643\u0645\u0627 \u062a\u0631\u064a\u062f\u060c \u0627\u0644\u0646\u0635 \u0644\u0646 \u064a\u0628\u062f\u0648 \u0645\u0642\u0633\u0645\u0627 \u0648\u0644\u0627 \u064a\u062d\u0648\u064a \u0623\u062e\u0637\u0627\u0621 \u0644\u063a\u0648\u064a\u0629\u060c \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649 \u0645\u0641\u064a\u062f \u0644\u0645\u0635\u0645\u0645\u064a \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0639\u0644\u0649 \u0648\u062c\u0647 \u0627\u0644\u062e\u0635\u0648\u0635\u060c \u062d\u064a\u062b \u064a\u062d\u062a\u0627\u062c \u0627\u0644\u0639\u0645\u064a\u0644 \u0641\u0649 \u0643\u062b\u064a\u0631 \u0645\u0646 \u0627\u0644\u0623\u062d\u064a\u0627\u0646 \u0623\u0646 \u064a\u0637\u0644\u0639 \u0639\u0644\u0649 \u0635\u0648\u0631\u0629 \u062d\u0642\u064a\u0642\u064a\u0629 \u0644\u062a\u0635\u0645\u064a\u0645 \u0627\u0644\u0645\u0648\u0642\u0639."]} [created_at] => 2022-07-22 07:05:16 [updated_at] => 2022-07-22 07:05:16 ) [original:protected] => Array ( [id] => 1 [key_data] => header.info [value_data] => {"en":["Grow your skills to advence your carer path","Lorem ipsum, dolor sit amet consectetur adipisicing elit. Nisi excepturi commodi aliquid culpa ipsa sit inventore accusamus eius in est."],"ar":["\u0642\u0645 \u0628\u062a\u0646\u0645\u064a\u0629 \u0645\u0647\u0627\u0631\u0627\u062a\u0643 \u0644\u062a\u0639\u0632\u064a\u0632 \u0645\u0633\u0627\u0631 \u062d\u064a\u0627\u062a\u0643 \u0627\u0644\u0645\u0647\u0646\u064a\u0629","\u0647\u0630\u0627 \u0627\u0644\u0646\u0635 \u0647\u0648 \u0645\u062b\u0627\u0644 \u0644\u0646\u0635 \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0633\u062a\u0628\u062f\u0644 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u0645\u0633\u0627\u062d\u0629\u060c \u0644\u0642\u062f \u062a\u0645 \u062a\u0648\u0644\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0646\u0635 \u0645\u0646 \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649\u060c \u062d\u064a\u062b \u064a\u0645\u0643\u0646\u0643 \u0623\u0646 \u062a\u0648\u0644\u062f \u0645\u062b\u0644 \u0647\u0630\u0627 \u0627\u0644\u0646\u0635 \u0623\u0648 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0627\u0644\u0646\u0635\u0648\u0635 \u0627\u0644\u0623\u062e\u0631\u0649 \u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0632\u064a\u0627\u062f\u0629 \u0639\u062f\u062f \u0627\u0644\u062d\u0631\u0648\u0641 \u0627\u0644\u062a\u0649 \u064a\u0648\u0644\u062f\u0647\u0627 \u0627\u0644\u062a\u0637\u0628\u064a\u0642.\r\n\u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0639\u062f\u062f \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0641\u0642\u0631\u0627\u062a \u064a\u062a\u064a\u062d \u0644\u0643 \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649 \u0632\u064a\u0627\u062f\u0629 \u0639\u062f\u062f \u0627\u0644\u0641\u0642\u0631\u0627\u062a \u0643\u0645\u0627 \u062a\u0631\u064a\u062f\u060c \u0627\u0644\u0646\u0635 \u0644\u0646 \u064a\u0628\u062f\u0648 \u0645\u0642\u0633\u0645\u0627 \u0648\u0644\u0627 \u064a\u062d\u0648\u064a \u0623\u062e\u0637\u0627\u0621 \u0644\u063a\u0648\u064a\u0629\u060c \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649 \u0645\u0641\u064a\u062f \u0644\u0645\u0635\u0645\u0645\u064a \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0639\u0644\u0649 \u0648\u062c\u0647 \u0627\u0644\u062e\u0635\u0648\u0635\u060c \u062d\u064a\u062b \u064a\u062d\u062a\u0627\u062c \u0627\u0644\u0639\u0645\u064a\u0644 \u0641\u0649 \u0643\u062b\u064a\u0631 \u0645\u0646 \u0627\u0644\u0623\u062d\u064a\u0627\u0646 \u0623\u0646 \u064a\u0637\u0644\u0639 \u0639\u0644\u0649 \u0635\u0648\u0631\u0629 \u062d\u0642\u064a\u0642\u064a\u0629 \u0644\u062a\u0635\u0645\u064a\u0645 \u0627\u0644\u0645\u0648\u0642\u0639."]} [created_at] => 2022-07-22 07:05:16 [updated_at] => 2022-07-22 07:05:16 ) [changes:protected] => Array ( ) [casts:protected] => Array ( ) [classCastCache:protected] => Array ( ) [attributeCastCache:protected] => Array ( ) [dates:protected] => Array ( ) [dateFormat:protected] => [appends:protected] => Array ( ) [dispatchesEvents:protected] => Array ( ) [observables:protected] => Array ( ) [relations:protected] => Array ( ) [touches:protected] => Array ( ) [timestamps] => 1 [hidden:protected] => Array ( ) [visible:protected] => Array ( ) [fillable:protected] => Array ( [0] => value_data [1] => key_data ) [guarded:protected] => Array ( [0] => * ) [translatable] => Array ( [0] => value_data ) [translationLocale:protected] => ) [1] => App\Models\Front_end Object ( [connection:protected] => mysql [table:protected] => front_ends [primaryKey:protected] => id [keyType:protected] => int [incrementing] => 1 [with:protected] => Array ( ) [withCount:protected] => Array ( ) [preventsLazyLoading] => [perPage:protected] => 15 [exists] => 1 [wasRecentlyCreated] => [escapeWhenCastingToString:protected] => [attributes:protected] => Array ( [id] => 2 [key_data] => general.info [value_data] => {"en":["Languages","Lorem ipsum dolor sit amet consectetur adipisicing elit. Aperiam aliquid, molestiae repellat laborum quasi modi est sint culpa doloribus, illo vitae iure beatae. Fugit tempora temporibus pariatur rerum, facilis sequi."],"ar":["\u0627\u0644\u0644\u063a\u0627\u062a","\u0648\u0645\u0646 \u0647\u0646\u0627 \u0648\u062c\u0628 \u0639\u0644\u0649 \u0627\u0644\u0645\u0635\u0645\u0645 \u0623\u0646 \u064a\u0636\u0639 \u0646\u0635\u0648\u0635\u0627 \u0645\u0624\u0642\u062a\u0629 \u0639\u0644\u0649 \u0627\u0644\u062a\u0635\u0645\u064a\u0645 \u0644\u064a\u0638\u0647\u0631 \u0644\u0644\u0639\u0645\u064a\u0644 \u0627\u0644\u0634\u0643\u0644 \u0643\u0627\u0645\u0644\u0627\u064b\u060c\u062f\u0648\u0631 \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649 \u0623\u0646 \u064a\u0648\u0641\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0635\u0645\u0645 \u0639\u0646\u0627\u0621 \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0646\u0635 \u0628\u062f\u064a\u0644 \u0644\u0627 \u0639\u0644\u0627\u0642\u0629 \u0644\u0647 \u0628\u0627\u0644\u0645\u0648\u0636\u0648\u0639 \u0627\u0644\u0630\u0649 \u064a\u062a\u062d\u062f\u062b \u0639\u0646\u0647 \u0627\u0644\u062a\u0635\u0645\u064a\u0645 \u0641\u064a\u0638\u0647\u0631 \u0628\u0634\u0643\u0644 \u0644\u0627 \u064a\u0644\u064a\u0642."]} [created_at] => 2022-07-22 07:05:22 [updated_at] => 2022-07-22 07:05:22 ) [original:protected] => Array ( [id] => 2 [key_data] => general.info [value_data] => {"en":["Languages","Lorem ipsum dolor sit amet consectetur adipisicing elit. Aperiam aliquid, molestiae repellat laborum quasi modi est sint culpa doloribus, illo vitae iure beatae. Fugit tempora temporibus pariatur rerum, facilis sequi."],"ar":["\u0627\u0644\u0644\u063a\u0627\u062a","\u0648\u0645\u0646 \u0647\u0646\u0627 \u0648\u062c\u0628 \u0639\u0644\u0649 \u0627\u0644\u0645\u0635\u0645\u0645 \u0623\u0646 \u064a\u0636\u0639 \u0646\u0635\u0648\u0635\u0627 \u0645\u0624\u0642\u062a\u0629 \u0639\u0644\u0649 \u0627\u0644\u062a\u0635\u0645\u064a\u0645 \u0644\u064a\u0638\u0647\u0631 \u0644\u0644\u0639\u0645\u064a\u0644 \u0627\u0644\u0634\u0643\u0644 \u0643\u0627\u0645\u0644\u0627\u064b\u060c\u062f\u0648\u0631 \u0645\u0648\u0644\u062f \u0627\u0644\u0646\u0635 \u0627\u0644\u0639\u0631\u0628\u0649 \u0623\u0646 \u064a\u0648\u0641\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0635\u0645\u0645 \u0639\u0646\u0627\u0621 \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0646\u0635 \u0628\u062f\u064a\u0644 \u0644\u0627 \u0639\u0644\u0627\u0642\u0629 \u0644\u0647 \u0628\u0627\u0644\u0645\u0648\u0636\u0648\u0639 \u0627\u0644\u0630\u0649 \u064a\u062a\u062d\u062f\u062b \u0639\u0646\u0647 \u0627\u0644\u062a\u0635\u0645\u064a\u0645 \u0641\u064a\u0638\u0647\u0631 \u0628\u0634\u0643\u0644 \u0644\u0627 \u064a\u0644\u064a\u0642."]} [created_at] => 2022-07-22 07:05:22 [updated_at] => 2022-07-22 07:05:22 ) [changes:protected] => Array ( ) [casts:protected] => Array ( ) [classCastCache:protected] => Array ( ) [attributeCastCache:protected] => Array ( ) [dates:protected] => Array ( ) [dateFormat:protected] => [appends:protected] => Array ( ) [dispatchesEvents:protected] => Array ( ) [observables:protected] => Array ( ) [relations:protected] => Array ( ) [touches:protected] => Array ( ) [timestamps] => 1 [hidden:protected] => Array ( ) [visible:protected] => Array ( ) [fillable:protected] => Array ( [0] => value_data [1] => key_data ) [guarded:protected] => Array ( [0] => * ) [translatable] => Array ( [0] => value_data ) [translationLocale:protected] => ) ) [escapeWhenCastingToString:protected] => ) إستطعت الدخول إلى القيم كالتالي : print_r($data[0]['value_data']); هل هذه الطريقة فعالة وعملية ام لا ؟ وعندما يكون رمز local => "en" تظهر بالإنجلزية والعكس, وشكرا لكم
  22. السلام عليكم, هذا مثال وجدته مستخدم في موقع آخر أردت أن استفيد منه لكنه يبدو أنه مخزن لقائمة اللغات في قاعدة بيانات <select class="langSel form-control" > <option value="">@lang('Select One')</option> @foreach($language as $item) <option value="{{$item->code}}" @if(session('lang') == $item->code) selected @endif>{{__($item->name) }}</option> @endforeach </select> هنا ما في أي شيء يرسل لكن كيف تتغير اللغة لاأرى الا متغيير وقيم تعرض, أما أنا فقد أنشأت طبقة وسيطة للتحقق من قيمة session الموجةدة في الجلسة وتغيير local الى الافتراضي ان لم تكن مخزنة وأنشأت متحكم لتغيير ب local session و local يحتوي على معامل $local سؤالي في الموجه ماهو الرابط الذي اضعه وكيف أمرر المعامل هل مثلًا : Route::get('/setLang{$local}', 'SwichLanguage::class , swichLang')->name('swichLang');
  23. قلت أجرب سلايدر آخر يحتوي على Next & Prev و أيضا لم يظهر في البداية لكن بعد أن حددت العنصر في وضع المطور و أضفت له بعض التنسيقات ظهر ويعمل هل هذا يعني أن تنسيقات المكتة الخاصة به لم يتم إدراجها ؟
  24. نفس الشيء لم تعمل إصدار المكتبة "dependencies": { "swiper": "^8.3.1" }
×
×
  • أضف...