Fma965
(Fma965)
9 مايو 2022، 8:17م
1
مرحباً يا رفاق،
لدي هذا الـ CSS المحدد
body[class^="category-documentation"] {
.topic-list .topic-list-header .posts,
.topic-list .topic-list-header .views,
.topic-list .topic-list-body .posts,
.topic-list .topic-list-body .views,
.topic-list .topic-list-body .posters,
.topic-list .topic-list-header .posters
{
display: none !important;
}
.topic-list .topic-list-body .main-link,
.topic-list .topic-list-header .topic-list-data
{
width: 90% !important;
}
.topic-list .topic-list-header .activity, .full-width .contents .topic-list .topic-list-body .activity {
width: 10% !important;
}
.topic-list .topic-excerpt {
display: none !important;
}
}
هذا يعمل بشكل رائع لإخفاء الكثير من العناصر في فئة “الوثائق” (نعم، أعرف أن هناك إضافة للوثائق، لكنني أجد التخطيط الأصلي أفضل). مشكلتي هي عندما أنقر من “Ford” مثلاً إلى “Documentation”، لا يتم تحديث الـ CSS وبالتالي لا يتم إخفاء الأشياء الخاصة بي إلا إذا قمت بتحديث الصفحة بأكملها باستخدام f5 / ctrl + R.
هل هناك شيء فاتني للسماح لهذا بالعمل؟
ينطبق الشيء نفسه في الاتجاه المعاكس أيضًا.
يمكنك زيارة أي فئة على https://community.cyanlabs.net ثم الانتقال إلى الوثائق وسترى عناصر الـ CSS المخفية لا تزال تظهر.
إعجاب واحد (1)
يبدو أنك تستخدم سمة Air، والتي تتضمن مكون سمة شريط تمرير تحميل Discourse.
إذا قمت بتعطيل هذا المكون من admin > customize > themes > components، ثم حاولت مرة أخرى… هل يغير ذلك أي شيء؟ في بعض الأحيان يمكن أن يتسبب هذا المكون في مشكلة حيث تبقى الفئات بين الصفحات حتى تقوم بتحديث.
4 إعجابات
Fma965
(Fma965)
9 مايو 2022، 8:43م
3
شكرا لردك،
لقد اختبرت هذا للتو وللأسف لم يحدث أي فرق في هذه الحالة.
إذا لم يكن هناك شيء بسيط، فسأتحقق من فئة الجسم باستخدام api.onPageChange() ولكن يبدو الأمر غريبًا بعض الشيء.
إعجاب واحد (1)
حسنًا… بالنظر عن كثب، يبدو أن هناك فئة ديناميكية يضيفها قالب إلى علامة body مثل category-documentation-21 و category-ford-5… عند الانتقال بين الصفحات، لا يبدو أن هذه الفئات تتم إزالتها بشكل صحيح.
إعجاب واحد (1)
Fma965
(Fma965)
9 مايو 2022، 8:55م
5
تعديل، أفهم ما تقصده الآن، إنه يحتفظ بهذا الكلاس في عنصر الجسم لسبب ما
تعديل2: لقد قمت بعمل نسخة من السمة بدون مكونات، ولا تزال نفس المشكلة قائمة، لذا يجب أن تكون في إضافة أو نواة.
جائزة الحل الأكثر تعقيدًا تذهب إليّ
<script type="text/discourse-plugin" version="0.8.19">
api.onPageChange((url) => {
if (url.indexOf("/c/documentation/") >= 0) {
$("<style id='documentationworkaround'>.topic-list .topic-list-body .posters,.topic-list .topic-list-body .posts,.topic-list .topic-list-body .views,.topic-list .topic-list-header .posters,.topic-list .topic-list-header .posts,.topic-list .topic-list-header .views{display:none!important}.topic-list .topic-list-body .main-link,.topic-list .topic-list-header .topic-list-data{width:90%!important}.full-width .contents .topic-list .topic-list-body .activity,.topic-list .topic-list-header .activity{width:10%!important}.topic-list .topic-excerpt{display:none!important}</style>").appendTo( "head" )
} else {
$("#documentationworkaround").remove();
}
});
</script>
ولكن نعم، إذا كان أي شخص يعرف ما الذي يسبب ذلك، فيرجى إخباري
إعجاب واحد (1)
يبدو أن هذه مشكلة في النواة، لذا أقوم بإعادة تصنيفها.
لإعادة إنتاج المشكلة:
قم بزيارة فئة مثل Support - Discourse Meta
قم بتحديث الصفحة
قم بالتبديل إلى فئة أخرى
ألقِ نظرة على الفئات الموجودة في علامة الجسم، تظل الفئة السابقة موجودة
يبدو أنها تُضاف من جانب الخادم، وقد ساعدني مهندس في استكشاف الأخطاء وإصلاحها ويبدو أنها تأتي تحديدًا من:
3 إعجابات
Fma965
(Fma965)
10 مايو 2022، 6:53م
7
شكراً على التحديث، في الوقت الحالي تعمل طريقة التحايل الخاصة بي باستخدام جافاسكريبت على حل المشكلة، كيف يمكنني تتبع حالة هذه المشكلة؟
سنقوم بتحديث هذا الموضوع عند إصلاحه (أو أي شيء آخر متعلق به). إذا قمت بتغيير مستوى التتبع الخاص بك إلى “متابعة” في القائمة المنسدلة أسفل الموضوع، فستتلقى إشعارات بالمنشورات الجديدة.
Fma965
(Fma965)
10 مايو 2022، 6:57م
9
مثالي، لم أكن أعرف ما إذا كانت هناك مشكلة على جيت هاب أو أي شيء آخر، وأنا أتابع هذا الموضوع بالفعل لذا سأظل على اطلاع دائم.
شكراً جزيلاً مرة أخرى على مساعدتك.
يجب إصلاح هذا في هذا الالتزام، لذلك في المرة القادمة التي تقوم فيها بتحديث Discourse، يجب إضافة/إزالة فئات الفئات كما هو متوقع.
committed 05:18PM - 01 Jun 22 UTC
The server-side implementation had unintentionally changed to include `-{id}` at… the end of the body class name. This change meant that the JS client was unaware of the class, and didn't remove it when navigating away from the category page.
This commit fixes the server-side implementation to match the client
4 إعجابات
Fma965
(Fma965)
2 يونيو 2022، 4:04م
14
شكرًا، تم تحديث الفئات بشكل صحيح الآن ولكن CSS لا يزال غير مطبق عند التبديل بين الفئات
body[class^="category-documentation"] {
.topic-list .topic-excerpt, .topic-list .topic-list-body .posts, .topic-list .topic-list-header .posts {
display: none !important
}
}
تحرك بين الفئات، لن يعمل بشكل صحيح.
إعجاب واحد (1)
أوه هممم، هذا غير متوقع… هل تمت إضافة هذا الـ CSS باستخدام JS؟
Fma965
(Fma965)
2 يونيو 2022، 4:28م
16
لا، فقط قم بتخطيط CSS في ملفات common أو desktop.css، لقد جربت كليهما.
آه حسناً، لقد أدركت للتو… class^= يتحقق من بداية الفئة، والفئة ليست دائماً الفئة الأولى في القائمة.
إذا قمت بالتحديث إلى body[class*="category-documentation"] فيجب أن يعمل، هذا يتحقق من اسم الفئة في أي مكان يظهر في القائمة.
5 إعجابات
Fma965
(Fma965)
18 يونيو 2022، 4:51م
20
هذا + الإصلاح الأساسي يبدو أنه يعمل. شكرًا
3 إعجابات