• أعضاء وزوار معهد زين العربية، نود أن نعلمكم أن المعهد سيشهد في الفترة القادمة الكثير من التغيرات سواءا على المستوى الاداري او مستوى الاقسام، لذا نرجو منكم التعاون، وأي ملاحظات او استفسارات يرجى التواصل معنا عبر قسم الشكاوي و الإقتراحات و الطلبات ونشكركم على حسن تفهمكم وتعاونكم ،مع خالص الشكر والتقدير والاحترام من إدارة زين العربية.

[ حصريا ] شرح طريقة تنسيق معلومات العضو

المعذرة منك اخوي @S.N.A.K.E

استبدل الكود اللي عطيتك اول بهالكود ورد لي خبر

HTML:
<a href="{$value}" data-xf-init="tooltip" title="{$fieldId}" target="_blank"><span class="fab fa-facebook"></span></a>
 
المعذرة منك اخوي @S.N.A.K.E

استبدل الكود اللي عطيتك اول بهالكود ورد لي خبر

HTML:
<a href="{$value}" data-xf-init="tooltip" title="{$fieldId}" target="_blank"><span class="fab fa-facebook"></span></a>
يسلمو ايديك صار تمام بس عدلت عليه وصفت رابط الفيس قبل "{$value}" وظهرت لي الايقونه مكان الاسم
هسه بالنسبه لباقي مواقع التواصل اسوي نفس الكود بس اغير الايقونه لكل موقع صح ؟
يعطيك العافيه
 
ممتاز الان طبق نفس العملية على باقي مواقع التواصل وباذن الله تضبط معك

واخي خدمة حاضرين للغالين

احترامي وتقديري
اخوك
شقاوي
 
يعطيك العافية ياغالي
ما شاء الله أبدعت
عندي طلب صغير ممكن طريقة اضافة ايقونة لحقل الاجابات في قالب معلومات العضو
بانتظارك
تحياتي
 
حياك الله اخوي @Abu Ayesh

بالنسبة لحقل الاجابات المفروض ان اخر تحديث للاضافة الايقونة والحقل ينضافون تلقائيا ً :unsure:

او انت تستخدم اضافة غير الاضافة المطروحة في المعهد؟
 
حياك الله اخوي @Abu Ayesh

بالنسبة لحقل الاجابات المفروض ان اخر تحديث للاضافة الايقونة والحقل ينضافون تلقائيا ً :unsure:

او انت تستخدم اضافة غير الاضافة المطروحة في المعهد؟

لا بستخدم اضافتك الموجودة في المعهد
 
بوركت و جزاك الله كل خير
حبذا لو يتم طرح التنسيق الحالي للمنتدى 28/02/2021 ... حقيقة روعة
بالتوفيق
تحياتي
 
اتمنى من كل قلبي ان يكون هذا الشرح هو ما طلبت واسأل الله ان تعم به الفائدة للجميع
 
بسم الله الرحمن الرحيم

الحمد لله والصلاة والسلام على رسول الله نبينا محمد عليه افضل الصلاة واتم التسليم

اللهم لا علم لنا إلا ما علمتنا، إنك أنت العليم الحكيم، اللهم علمنا ما ينفعنا، وانفعنا بما علمتنا، وزدنا علما،

اقدم لكم اليوم طريقة تنسيق معلومات العضو داخل المواضيع والمشاركات حسب طلب اخواننا @MesterPerfect و @QATFX

طبعا ً الطريقة تعتمد اعتماد كلي على الاكواد لذا ارجو اخذ نسخة احتياطية من اي قالب قبل التعديل عليه

بسم الله نبدأ الشرح:

طبعا نريد ان نقوم بتغيير شكل معلومات العضو من هذا الشكل:

مشاهدة المرفق 2454

الى هذا الشكل

مشاهدة المرفق 2455

لذا اول ما سوف نقوم به هو اضافة ايقونات FontAwesome كل ايقونة حسب الحقل التابعه له وتستطيع اختيار الايقونات حسب ما تشاء عن طريق هذا الرابط


الان قم بفتح قالب message_macros ولاحظ معي الصورة التالية:

مشاهدة المرفق 2456


لاحظ الكود المظلل في المربعات الثلاث طبعا ً الكود مكرر في القالب اكثر من مرة وهذه فقط صورة توضيحية

لنأخذ كود واحد من هذه الاكواد ونقوم بشرحة بالتفصيل لكي نبين الصورة بشكل اوضح

HTML:
<xf:if is="$extras.register_date">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('joined') }}</dt>
                            <dd>{{ date($user.register_date) }}</dd>
                        </dl>
                    </xf:if>

تلاحظون في الكود السابق ان السطر الاول هو شرط معناه انه اذا كان تاريخ الانضمام مفعل او موجود فقم بعرض الاكواد

طبعا ً الشرط عن تاريخ الانضمام وهو معرف في الكود بهذا الخيار register_date

يأتي بعد ذلك السطر الثاني وهو مجرد عبارة توضيحية توضح عنوان الحقل

ثم السطر الثالث وهو قيمة هذا الحقل

ثم السطر الرابع اغلاق الشرط

وتستمر الاكود بهذه الطريقة لجميع حقول العضو ما عدا الحقول الاضافية والتي سوف نتحدث عنها لاحقا ً

الان ما نريده هو اضافة الايقونات كما ذكرت بداية الموضوع الان نحن نريد اضافة الايقونة قبل عنوان الحقل والذي كما اشرت له في الكود السابق يأتي في السطر الثاني

لذا لنقم باضافاة ايقونة تاريخ الانضمام الى كودنا السابق ليصبح الكود بهذا الشكل بعد التعديل

HTML:
<xf:if is="$extras.register_date">
                        <dl class="pairs pairs--justified">
                            <dt><xf:fa icon="fa-calendar" />
                                {{ phrase('joined') }}</dt>
                            <dd>{{ date($user.register_date) }}</dd>
                        </dl>
                    </xf:if>

ويتم تطبيق نفس الفكرة مع جميع الاكواد الاخرى الخاصة بالحقول مع تغيير اسم الايقونة حسب نوع الحقل

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

كمثال قم باستبدال هذا الكود الخاص بالموقع اللاكتروني:

HTML:
<xf:if is="$extras.website && $user.Profile.website">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('website') }}</dt>
                            <dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$user.Profile.website|url('host', phrase('visit_site'))}</a></dd>
                        </dl>
                    </xf:if>

الى هذا الكود:

HTML:
<xf:if is="$extras.website && $user.Profile.website">
                        <dl class="pairs pairs--justified">
                            <dt><xf:fa icon="fa-home" />
                                {{ phrase('website') }}</dt>
                            <dd><a href="{$user.Profile.website}" rel="nofollow" data-xf-init="tooltip" title="{$user.Profile.website}" target="_blank"><xf:fa class="website-link" icon="fa-network-wired" /></a></dd>
                        </dl>
                    </xf:if>

الان نقوم بفتح قالب extra.less ونضيف له هذه الاكواد وهي خاصة بخيارات css

CSS:
.message-userExtras{
  
  
    dl {
        padding: 3px 6px 3px 32px;
        border-radius: 3px;
        background-color: #fff;
        margin: 0 0 4px;
        position: relative;
        height: 24px;
        border: 1px solid #c8c8c8;
      
        i{
            background:#03b9e3;
            line-height: 28px;
            position: absolute;
            top: 0;
            left: 0;
            width: 24px;
            text-align: center;
            color:#fff;
          
            &:after{
                position: absolute;
                top: 0;
                left: 23px;
                display: block;
                content: '';
                border-style: solid;
                border-width: 11px 0 12px 7px;
                border-color:transparent;
                border-left-color: #03b9e3;
                clear: both;
                content: "";
            }
        } // end i tag
      
        .website-link{
            background:transparent;
            position: relative;
            border: 0;
            color:#000;
            line-height: 0;
          
            &:after{
                border: 0;
            }
        }// end website-link tag
      
      
    }// end dl tag
  
}

الان لو جربت الكود سوف ترى انه يعمل الا مع حقول العضو الاضافية مثل سكايب وتويتر او فيسبوك وذكرت سابقا ً اننا سوف نعود الى هذه النقطة والسبب اننا لم نقوم باضافة الايقونات الخاص به

ولتطبيق نفس الفكرة على الحقول المخصصة نقوم بفتح قالب custom_fields_macros

ثم نقوم بالبحث عن

HTML:
<dt>{$fieldDefinition.title}</dt>

الان قبل التعديل احب اذكر نقطة وهي انه لك الحرية في ان تضع ايقونة واحدة لجميع الحقول او تضع لكل حقل ايقونته الخاصة

فمثلا ً ان اردت ان تضع ايقونة لجميع الحقول فقم باستبدال الكود السابق بهذا الكود

HTML:
<dt><xf:fa icon="fa-angle-left" />{$fieldDefinition.title}</dt>

مع الانتباه الى استبدال الايقونة بالايقونة المناسبة لك

اما اذا كنت تريد ان تضع ايقونة لكل حقل مخصص على حدة فسوف تحتاج الى معرف كل حقل والمعرفات هي التي تضعها عند انشاء الحقول المخصصة كما في الصورة التالية:

مشاهدة المرفق 2457

وسوف نستخدم الحقول بالطريقة التالية:

اولا نبحث عن الكود السابق وهو :

HTML:
<dt>{$fieldDefinition.title}</dt>

ونستبدلها بهذا الكود:

HTML:
<dt>
                    <xf:if is="$fieldDefinition.field_id == 'skype'">
                        <xf:fa icon="fab fa-skype" />
                    <xf:elseif is="$fieldDefinition.field_id == 'twitter'" /> 
                        <xf:fa icon="fab fa-twitter" />
                    <xf:elseif is="$fieldDefinition.field_id == 'facebook'" /> 
                        <xf:fa icon="fab fa-facebook" />
                    </xf:if> 
                    {$fieldDefinition.title}
                </dt>

وهنا استخدمنا ثلاث حقول سكايب و تويتر و فيسبوك وتستطيعون ان تضيفون قدر ما شئتم من الحقول بنفس الطريقة المستخدمة في الكود السابق

اخيرا ً وليس اخرا ً

اذا اردتم ان يكون حساب الشخص لاي من حسابات التواصل الاجتماعي كرابط بحيث عند الضغط عليه يتم التوجه الى حسابه فكل ما عليكم هو التوجه

حقول العضو المخصصة واختيار اي من الحقول ولنفرض مثلا حقل تويتر نقوم بالضغط عليه والتوجه الى اخر تبويب وهو خيارات عامة

ونضيف الكود التالي في حقل عرض قيمة HTML :

HTML:
<a href="https://twitter.com/{$value}" data-xf-init="tooltip" title="{$fieldId}" target="_blank">{$value}</a>

وطبق نفس الطريقة لجميع مواقع التواصل الاجتماعي مع تغيير رابط الموقع فقط من تويتر الى اي رابط اخر

والنتيجة سوف تكون بعد تعديلاتنا التي قمنا باجرائها كالتالي:

مشاهدة المرفق 2458

اتمنى من الله العلي القدير ان اكون وفقت في الشرح واكون قد اوصلت الفكرة واتمنى المعذر في الاطالة في الشرح فالقصد هو ايصال الفكرة وكيفية التعديل وليس لصق الاكواد فقط

ان اصبت فهذا من فضل الله علي وان اخطأت فجل من لايخطأ

احترامي وتقديري
اخوكم
شقاوي
شرح مفيد اخي شقاوي
 

إحصائيات المنتدى

المواضيع
1,674
المشاركات
18,759
الأعضاء
1,288
آخر عضو مسجل
mr.nobady6789
أعلى