-
المساهمات
4657 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
30
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو بلال زيادة
-
يجب قبل البدء في تعلم البرمجة ، يجب عليك تحديد ما هو المجال الذي تريد العمل فيه مثل برمجة و تصميم المواقع الإلكترونية أو برمجة تطبيقات الموبايل فكل مجال له لغات محددة مثل مجال برمجة و تصميم المواقع الإلكترونية هناك لغات مثل HTML , CSS برمجة أمامية frontend JavaScript & jQuery Library برمجة أمامية frontend PHP برمجة خلفية backend Node.js برمجة خلفية backend Python برمجة خلفية backend برمجة تطبيقات الموبايل هناك لغات مثل flutter Framework & dart Java & kotlin cordova swift ionic , غيرها من اللغات أخرى لذلك عند تحديد المجال الذي تريد العمل به يمكنك الانطلاق إلى اللغات التي تستخدم في هذا المجال
-
الخاصية position في CSS تصف كيف يجب أن يتموضع العنصر في المستند، والخاصيات top و right و bottom و left تُحدِّد المكان النهائي لتلك العناصر. وتحتوي هذه الخاصية على عدة قيم مثل /* الكلمات المفتاحية */ position: static; position: relative; position: absolute; position: fixed; position: sticky; /* القيم العامة */ position: inherit; position: initial; position: unset; القيمة static ، سيكون موضع العنصر محسوبًا بناءً على البنية التنظيمية للمستند، ولن يكون للخاصيات top و right و bottom و left و z-index أي أثر، وهذه هي القيمة الافتراضية. الخاصية relative ، سيكون موضع العنصر محسوبًا بناءً على البنية التنظيمية العادية للمستند، ثم سيتم إزاحته نسبةً إلى موضعه الأصلي اعتمادًا على الخاصيات top و right و bottom و left، ولن يكون للإزاحة تأثيرٌ على بقية العناصر، أي أنَّ المساحة المحجوزة للعنصر في تخطيط الصفحة هي نفس المساحة المحجوزة إذا كانت هذه الخاصية هي static. ويمكن استخدام الخاصية z-index مع العنصر. الخاصية absolute ، سيُزال العنصر من البنية التنظيمية للمستند، ولن يُحجَز له مكانٌ في تخطيط الصفحة، وإنما سيتم تحديد موضعه نسبةً إلى أقرب عنصر أب له موضع نسبي، أو إلى العنصر <body>، وسيُحدَّد موضعه النهائي عبر الخاصيات top و right و bottom و left، ويمكن استخدام الخاصية z-index مع العنصر. ويمكن أن يكون للعناصر المطلقة هوامش margin. الخاصية fixed ، سيُزال العنصر من البنية التنظيمية للمستند، ولن يُحجَز له مكانٌ في تخطيط الصفحة، وإنما سيتم تحديد موضعه نسبةً إلى إطار العرض (viewport)، وسيُحدَّد موضعه النهائي عبر الخاصيات top و right و bottom و left، ويمكن استخدام الخاصية z-index مع العنصر. إذا طُبِعَت الصفحة فسيتوضع العنصر في المكان نفسه في كل صفحة. الخاصية sticky ، سيكون موضع العنصر محسوبًا بناءً على البنية التنظيمية العادية للمستند، ثم سيتم إزاحته نسبةً إلى موضعه الأصلي اعتمادًا على الخاصيات top و right و bottom و left، ولن يكون للإزاحة تأثيرٌ على بقية العناصر. عند التمرير إلى حدٍّ معيّن فسيتحوّل سلوك العنصر إلى ما يشبه السلوك الناتج عن fixed. يمكنك إلى الرجوع إلى التوثيق الخاص بخاصية position على ويكي حسوب من هنا .
- 2 اجابة
-
- 1
-
-
عذراً ، لم أجد الأكواد الخاصة برفع الصور في أي ملف , هل يمكنك إرشادي في أي ملف توجد المشكلة ؟
-
هل يمكنك إرفاق كامل ملفات مشروعك بشكلٍ مضغوط ؟
-
الاسم التالي C:\xampp\tmp\phpF2E6.tmp يحدث بسبب تخزين الاسم المؤقت للصورة و بالتالي الإجابة السابقة لو لاحظتي نقوم بتخزين الاسم النهائي للصورة الذي نقوم بتغييره باستخدام دالة time حيث تجلب هذه الدالة الوقت الفعلي و من ثم نضع امتداد الصورة و من ثم نمرر الاسم الجديد لحقل قاعدة البيانات مثل الاجابة السابقة
-
المشكلة في السطر التالي $request['image'] = $filename; يجب أن تقومي بوضع الاسم النهائي للملف $request['image'] = $name;
-
هل يمكنك إرفاق الكود الخاص بكِ حتى استطيع معاينة المشكلة , يبدو أنك تقومين أخطأتي في وضع اسم الصورة الجديد .
-
هل تقصد بهذا الشكل ؟ <?php $num = 20; $fact = 1; $i=$num; // تهيئة المتغيرات for ($x = 0; $x < $num; $x++) { if ($x == 0 || $x < 20) { echo "خطأ"; break; } echo "The number is: $x <br>"; } echo "Factorial of $num is $fact"; // Factorial of 5 is 120
-
هل يمكنك إرفاق الكود ؟
-
يتم استخدام break بحيث تخرج من تنفيذ الكود إذا تطابق شرط ما , كالتالي <?php for ($x = 0; $x < 20; $x++) { if ($x == 0 || $x < 20) { echo "خطأ"; break; } echo "The number is: $x <br>"; } ?> لاحظ أنه قارنا قيمة المتغير x بالرقم الذي نريد أن يتم التحقق منه و إذا تطابق نطبع ما نريد ثم نخرج من تنفيذ الكود باستخدام break .
-
يمكنك تعريب القالب من خلال إنشاء مجلد باسم languages ووضع بداخله ملفات الخاصة باللغة مثل ar.mo ar.po en.mo en.po ويوجد برنامج باسم poedit يمكنك من التعديل على ملفات التي تكون بامتداد po. و من خلاله يمكنك تعريب المفاتيح الخاصة باللغات و من ثم تستطعين توليد ملف ذا امتداد mo. من خلال هذا البرنامج, ثم يمكنك في ملف functions.php وضع السطر التالي load_theme_textdomain('assar', get_template_directory() . '/languages'); بحيث هذه الدالة تكون مسؤولة عن جلب ملف اللغة في حال تغيير اللغة و تأخذ متغيرين المتغير الأول اسم الدومين و من ثم المتغير الثاني يكون مسار مجلد اللغات , ومن ثم يمكنك استخدام الدالة التالية لجلب التعريب <?php esc_html_e('Read more', 'assar') ?> بحيث المتغير الأول يكون مفتاح التعريب و المتغير الثاني يكون اسم الدومين الذي وضعناه من الدالة السابقة وهي load_theme_textdomain('assar', get_template_directory() . '/languages');
-
يوجد laravel passport هذه مكتبة مخصصة للتعامل مع مشاريع لارافل يمكنك تنزيلها عن طريق الأمر التالي composer require laravel/passport ثم لزرع الجداول الخاصة بهذه المكتبة يمكنك تنفيذ الأمر التالي php artisan migrate ثم لتثبيت و إنشاء الرموز الخاصة لهذه المكتبة يرجى تنفيذ الأمر التالي php artisan passport:install يمكنك الاطلاع على هذه المكتبة من خلال التوثيق الخاص بها على موقع لارافل من هنا .
-
لماذا لا تستخدم السيرفر الشخصي ؟
-
هل يمكنك التفصيل أكثر أنك لا تستطيع تعريب القالب الا بالاشتراك بالباقة ؟ اي باقة تقصد؟
-
لم أجد صراحة إضافة تلبي الغرض بشكلٍ صحيح كالإضافة المذكورة
-
أعتقد أن الأمر سيكون معقد بالاستخدام الطريقة التقليدية لأن عدد المنتجات كثير , لذلك ربما تلجأ للإضافة أفضل خيار .
- 6 اجابة
-
- 1
-
-
يجب عليك في ملف config.inc.php إضافة السطر التالي و محاولة إنشاء مستخدم جديد $cfg['Servers'][$i]['DisableIS'] = true;
-
عليك بالتأكد من سلامة التعريب من خلال فتح ملف ar.po في برنامج Poedit و إذا كانت هناك مشاكل في التعريب أن تقوم بإصلاحها كاملة , و تأكد بأنك تستدعي التعريب لكل لغة من خلال دالة load_theme_textdomain كما في الشكل التالي , load_theme_textdomain('اسم القالب', get_template_directory() . '/languages'); يمكنك وضع اسم القالب الخاص بك ثم مسار المجلد الذي يحتوي على اللغات load_theme_textdomain('assar', get_template_directory() . '/languages'); ثم لاستخدام التعريب يمكنك استخدام الدالة esc_html_e('It seems we.', 'assar'); بحيث يكون المتغير الأول هو النص , ثم اسم القالب الذي تم استخدامه في الدالة load_theme_textdomain
- 2 اجابة
-
- 1
-
-
ربما لا تستطيع فعل ذلك بسهول تامة ، ولكن هناك إضافة و اسمها webtoffe تمكنك من جلب المنتجات ذات الحقول المخصصة ( custom fileds ) و يمكنك الاطلاع على توثيق هذه الإضافة من هنا ، أيضا يمكنك إضافة منتج باستخدام دالة wp_insert_post كما في الشكل التالي $product = array( 'post_authoer' => $user_id, 'post_content' => '', 'post_status' => 'publish', 'post_title' => $value['product_name'], 'post_parent' => '', 'post_type' => 'product', ); $product_id = wp_insert_post($product, $wp_error); ثم تضيف metadatas الخاصة woocommerce باستخدام دالة update_post_meta و تركيبة هذه الدالة كالتالي update_post_meta( int $post_id, string $meta_key, mixed $meta_value); ثم تقوم بتحديث metadatas للمنتج update_post_meta($product_id, 'main_code_text_field', $value['main_code']); update_post_meta($product_id, 'total_sales', '0'); update_post_meta($product_id, '_stock', ''); update_post_meta($product_id, '_sku', ''); فيكون كامل الكود كالتالي $product = array( 'post_authoer' => $user_id, 'post_content' => '', 'post_status' => 'publish', 'post_title' => $value['product_name'], 'post_parent' => '', 'post_type' => 'product', ); $product_id = wp_insert_post($product, $wp_error); update_post_meta($product_id, 'main_code_text_field', $value['main_code']); update_post_meta($product_id, 'total_sales', '0'); update_post_meta($product_id, '_stock', ''); update_post_meta($product_id, '_sku', '');
-
هل تقصد تمرير القيمة id , name الى نفس list كما يلي ؟ listsearch.add(responsebody[i]['id']); listsearch.add(responsebody[i]['name']);
- 3 اجابة
-
- 1
-
-
إذا كنتي تريدين تعديل نموذج ما أو بيانات لعضو ما عن طريق modal فالامر كالتالي سوف تقومين بوضع خاصية data-id ووضع id العضو الذي تريدين تعديله في هذه الخاصية <a href=".bs-example-modal-xl" id="editName" data-id="1" class="btn btn-info waves-effect waves-light" data-cat="{{ $Categories->id}}" data-toggle="modal" <span class="btn-label"><i class="mdi mdi-wrench"> </i> <!-- Button trigger modal --> <a href="#" type="button" class="btn btn-primary" id="editName" data-id="1" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </a> و modal كالتالي <!-- Modal --> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <form action="{{ route('user.edit') }}" method="POST"> @csrf @method('PUT') <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <input type="hidden" id="user_id" name="user_id" value=""> <input type="text" name="name" id="name" value="" class="form-control"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="submit" id="submit" class="btn btn-primary">Save changes</button> </div> </form> </div> </div> </div> ثم من خلال ajax يمكننا جلب معلومات العضو و زرعها في modal كما في الكود التالي $('body').on('click', '#editName', function (event) { event.preventDefault(); var id = $(this).data('id'); $.get('user/' + id + '/edit', function (data) { $('#user_modal').modal('show'); $('#user_id').val(data.data.id); $('#name').val(data.data.name); }) }); ثم عند الضغط على زر modal الخاص بالتعديل نقوم بتحديث البيانات باستخدام ajax كما في الكود التالي $('body').on('click', '#submit', function (event) { event.preventDefault() var id = $("#user_id").val(); var name = $("#name").val(); $.ajax({ url: 'user/' + id, type: "POST", data: { id: id, name: name, }, dataType: 'json', success: function (data) { $('#exampleModal').modal('hide'); window.location.reload(true); } }); });
-
يجب بعد ظهور modal و حينها عند الضغط على زر موافق أن يقوم بتوجيهه إلى المسار الذي تريدينه مثل <!-- Button trigger modal --> <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </button> <!-- Modal --> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <form action="{{ route('') }}" method="POST"> @csrf @method('PUT') <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary">Save changes</button> </div> </form> </div> </div> </div> لاحظي أنه قمنا بإحاطة <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary">Save changes</button> </div> </div> بوسم form و في خاصية action قمنا بوضع المسار الذي نود الانتقال إليه .
-
أرى أنك قمت بتحديد عرض للمحدد card style="width: 26rem" وبالتالي يمكنك حذف هذه الخاصية كي يتم وضع العرض الافتراضي للأعمدة ، أيضا يمكنك توسيط الصناديق بنصف الصفحة عن طريق إضافة المحدد justify-content-center إلى السطر التالي <div class="row justify-content-center">
-
هذا خطأ ، يمكنك الاعتماد على id الخاص بكل منتج بشكل طبيعي ، عن أي حماية تقصد ، و ماذا سيستفيد من يعرض رقم المنتج , لا داعي لأمور تعقيدية تعقد عمل البرنامج معك , أهتم بحماية الباك أند و حماية المدفوعات هذا سيفي بالغرض و بالإجابة عن سؤال صحيح يمكنك توليد code معين لكل منتج باستخدام mt_rand بهذا الشكل mt_rand(1, 9999);
- 7 اجابة
-
- 1
-
-
أظن أنه يجب تغيير col-md-3 كالتالي و أخباري بالنتيجة ، <div class="container"> <div class="row"> <div class="col-md-3"> <div class="card bg-dark text-center text-white mt-5" style="width: 26rem"> <div class="card-body"> <i class="fa-solid fa-laptop fa-2x pb-3"></i> <h5 class="card-title">Virtual</h5> <p class="card-text"> Lorem , ipsum dolor sit amet consectetur adipisicing elit . lure, quas quidem possimus dolorum esse eligendi ? </p> <a href="#" class="btn btn-primary">Read More</a> </div> </div> </div> <div class="col-md-3"> <div class="card bg-secondary text-center text-white mt-5" style="width: 26rem"> <div class="card-body"> <i class="fa-solid fa-circle-user fa-2x pb-3"></i> <h5 class="card-title">Hybrid</h5> <p class="card-text">Lorem , ipsum dolor sit amet consectetur adipisicing elit . lure, quas quidem possimus dolorum esse eligendi ? </p> <a href="#" class="btn btn-dark">Read More</a> </div> </div> </div> <div class="col-md-3"> <div class="card bg-dark text-center text-white mt-5 mr-sm-2" style="width: 26rem"> <div class="card-body"> <i class="fa-solid fa-user-group fa-2x pb-3"></i> <h5 class="card-title">In Person</h5> <p class="card-text">Lorem , ipsum dolor sit amet consectetur adipisicing elit . lure, quas quidem possimus dolorum esse eligendi ? </p> <a href="#" class="btn btn-primary">Read More</a> </div> </div> </div> </div> </div>