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

شرح تغيير طريقة عرض المرفقات

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
28 يناير 2019
2,200
60
1,524
113
25
sohag, Egypt
mx-blind.org
بسم الله الرحمن الرحيم
أهلا بكم في شرح جديد وإن شاء الله يكون مفيد
شرحنا اليوم يتمثل في كيفية تغيير شكل المرفقات من الشكل التقليدي إلى شكل قائمة
المعلومات
اسم الشرح : كيفية تغيير طريقة عرض المرفقات
توافق الشرح: xf2.1
موقع مقدم الشرح : mx-blind.com
مقدم الشرح : أحمد بكر @MesterPerfect
تمت التجربة: نعم

الشرح

ندخل إلى لوحة التحكم -==> المظهر -==> القوالب
نختار الستايل الذي نريد تعديله
نبحث عن قالب : message_macros
ثم نبحث داخله عن هذا الكود

HTML:
<xf:macro name="attachments" arg-attachments="!" arg-message="!" arg-canView="!">
    <xf:if contentcheck="true">
        <xf:css src="attachments.less" />
        <section class="message-attachments">
            <h4 class="block-textHeader">{{ phrase('attachments') }}</h4>
            <ul class="attachmentList">
                <xf:contentcheck>
                    <xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment)">
                        <xf:macro template="attachment_macros" name="attachment_list_item"
                            arg-attachment="{$attachment}"
                            arg-canView="{$canView}" />
                    </xf:foreach>
                </xf:contentcheck>
            </ul>
        </section>
    </xf:if>
</xf:macro>

ثم نستبدله بهذا الكود

HTML:
<xf:macro name="attachments" arg-attachments="!" arg-message="!" arg-canView="!">
    <xf:if contentcheck="true">
        <xf:css src="attachments.less" />
        <section class="message-attachments">
            <h4 class="block-textHeader">{{ phrase('attachments') }}</h4>
            <xf:contentcheck>
            <xf:if contentcheck="true">
            <ul class="attachmentList">
                <xf:contentcheck>
                    <xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment) AND $attachment.has_thumbnail">
                        <xf:macro template="attachment_macros" name="attachment_list_item"
                            arg-attachment="{$attachment}"
                            arg-canView="{$canView}" />
                    </xf:foreach>
                </xf:contentcheck>
            </ul>
            </xf:if>
         
            <xf:if contentcheck="true">
            <ul class="attachmentList attachmentListCustom">
                <xf:contentcheck>
                    <xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment) AND !$attachment.has_thumbnail">
                        <xf:macro template="attachment_macros" name="attachment_list_item"
                            arg-attachment="{$attachment}"
                            arg-canView="{$canView}" />
                    </xf:foreach>
                </xf:contentcheck>
            </ul>
            </xf:if>
         
            </xf:contentcheck>
        </section>
    </xf:if>
</xf:macro>

وفي قالب : attachments.less قم بإضافة الكود التالي

CSS:
.attachmentList.attachmentListCustom
{
    .xf-minorBlockContent();
    display: block;
    padding: @xf-paddingMedium @xf-paddingLarge;
    margin-top: @xf-elementSpacer;
    .attachment
    {
        display: block;
        width: auto;
        background-color: transparent;
        border-width: 0;
        padding: 5px 0;
        margin: 0;
        > div { display: inline-block; }
        i { width: 24px; text-align: center; }
        i:before { font-size: 22px; }
        .attachment-icon.attachment-icon--img img { max-height: 24px; }
        .attachment-name { margin-top: 0; }
        &:first-of-type { padding-top: 0; }
        &:last-of-type { padding-bottom: 0; }
    }
}

النتيجة
قبل التعديل

VfWEHFz.png


بعد التعديل

d2LJvfO.png


وبهذا ينتهي شرحنا لهذا اليوم
ونراكم قريبا إن شاء الله
والسَلام عليكم ورحمة الله وبركاته
 
التعديل الأخير:
في طريقة احدد بيها طول إسم المرفق في العرض؟
لانه لما بيتم ارفاق ملف اسمه كبير العرض بيبقى غير متوافق على التليفون
 
في طريقة احدد بيها طول إسم المرفق في العرض؟
لانه لما بيتم ارفاق ملف اسمه كبير العرض بيبقى غير متوافق على التليفو
 
في طريقة احدد بيها طول إسم المرفق في العرض؟
لانه لما بيتم ارفاق ملف اسمه كبير العرض بيبقى غير متوافق على التليفو

حياك الله اخوي @ابومازن

افتح قالب attachment_macros وابحث عن هالكود

HTML:
<span class="file-name" title="{$attachment.filename}">{$attachment.filename}</span>


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

HTML:
<span class="file-name" title="{$attachment.filename}">{$attachment.filename|substr(0,30)}</span>

وتقدر تعدل الرقم 30 في الكود الثاني وهو عدد الاحرف التي سوف تظهر من اسم الملف المرفق

احترامي وتقديري
اخوك
شقاوي
 
كود:
<xf:macro name="attachment_list_item" arg-attachment="!" arg-canView="!">
    <li class="attachment">
        <xf:if is="$attachment.has_thumbnail">
            <xf:macro template="lightbox_macros" name="setup" arg-canViewAttachments="{$canView}" />

            <div class="attachment-icon attachment-icon--img">
                <a href="{{ link('attachments', $attachment) }}" target="_blank" class="{{ $canView ? 'js-lbImage' : '' }}">
                    <img src="{$attachment.thumbnail_url}" alt="{$attachment.filename}" />
                </a>
            </div>
        <xf:else />
            <div class="attachment-icon" data-extension="{$attachment.extension}">
                <a href="{{ link('attachments', $attachment) }}" target="_blank"><i aria-hidden="true"></i></a>
            </div>
        </xf:if>
        <div class="attachment-name" style="width:100px!important;">
            <a href="{{ link('attachments', $attachment) }}" target="_blank" title="{$attachment.filename}">{$attachment.filename}</a>
        </div>
        <div class="attachment-details">
            <span class="attachment-details-size">{$attachment.file_size|file_size}</span>
            <span class="attachment-details-views">{{ phrase('views:') }} {$attachment.view_count|number}</span>
        </div>
    </li>
</xf:macro>
 
كود:
<xf:macro name="attachment_list_item" arg-attachment="!" arg-canView="!">
    <li class="attachment">
        <xf:if is="$attachment.has_thumbnail">
            <xf:macro template="lightbox_macros" name="setup" arg-canViewAttachments="{$canView}" />

            <div class="attachment-icon attachment-icon--img">
                <a href="{{ link('attachments', $attachment) }}" target="_blank" class="{{ $canView ? 'js-lbImage' : '' }}">
                    <img src="{$attachment.thumbnail_url}" alt="{$attachment.filename}" />
                </a>
            </div>
        <xf:else />
            <div class="attachment-icon" data-extension="{$attachment.extension}">
                <a href="{{ link('attachments', $attachment) }}" target="_blank"><i aria-hidden="true"></i></a>
            </div>
        </xf:if>
        <div class="attachment-name" style="width:100px!important;">
            <a href="{{ link('attachments', $attachment) }}" target="_blank" title="{$attachment.filename}">{$attachment.filename}</a>
        </div>
        <div class="attachment-details">
            <span class="attachment-details-size">{$attachment.file_size|file_size}</span>
            <span class="attachment-details-views">{{ phrase('views:') }} {$attachment.view_count|number}</span>
        </div>
    </li>
</xf:macro>
 
ويوجد عندى مشكله فى الاقسام الفرعيه القسم غير كامل فيه كلمات ناقصه من كل قسم كما ترى فى الصورة
Screenshot_1.png
 
كود:
<xf:macro name="attachment_list_item" arg-attachment="!" arg-canView="!">
    <li class="attachment">
        <xf:if is="$attachment.has_thumbnail">
            <xf:macro template="lightbox_macros" name="setup" arg-canViewAttachments="{$canView}" />

            <div class="attachment-icon attachment-icon--img">
                <a href="{{ link('attachments', $attachment) }}" target="_blank" class="{{ $canView ? 'js-lbImage' : '' }}">
                    <img src="{$attachment.thumbnail_url}" alt="{$attachment.filename}" />
                </a>
            </div>
        <xf:else />
            <div class="attachment-icon" data-extension="{$attachment.extension}">
                <a href="{{ link('attachments', $attachment) }}" target="_blank"><i aria-hidden="true"></i></a>
            </div>
        </xf:if>
        <div class="attachment-name" style="width:100px!important;">
            <a href="{{ link('attachments', $attachment) }}" target="_blank" title="{$attachment.filename}">{$attachment.filename}</a>
        </div>
        <div class="attachment-details">
            <span class="attachment-details-size">{$attachment.file_size|file_size}</span>
            <span class="attachment-details-views">{{ phrase('views:') }} {$attachment.view_count|number}</span>
        </div>
    </li>
</xf:macro>

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

HTML:
{$attachment.filename|substr(0,30)}

بعدين اخوي ابو مازن انا ما ادري كيف تبحث ولكن في الزين فورو بمجرد ما تفتح القالب ضع المؤشر داخل القالب واضغط على ctrl+f راح يفتح لك مربع بحث داخل القالب ادخل فيه الكود اللي تبحث عنه وراح يجده لك ويحدده باللون الاضفر
 
ويوجد عندى مشكله فى الاقسام الفرعيه القسم غير كامل فيه كلمات ناقصه من كل قسم كما ترى فى الصورة
مشاهدة المرفق 5405

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

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

المواضيع
1,564
المشاركات
17,670
الأعضاء
1,119
آخر عضو مسجل
Mohamed Loly
أعلى