Небольшие пожелания
Виталий, я знаю, что в данный движок ничего вноситься не будет- это пожелание на будущий проект.
Хотелось бы небольшого расширения возможностей “владельцев групп” в пределах своей же группы
- Закрепление тем владельцем группы(например полезно правила группы закрепить, так как они частенько “съезжают” вниз 😃 и новички их читать не хотят 😉
- Возможность ПОЛНОГО удаления тем/постов владельцем группы. Так как бывает какая-либо тема совсем не актуальна(в группе) а удалить её нельзя. Так же “лишние” посты занимают место…
- Хотелось бы иметь возможность “сортировки” тем “по дате”, то есть чтоб человек сам решал где начало темы отобразить, на 1-ой или 100-ой странице
С уважением.
1 и 2 будет. Вместо 3 будет переход к последнему непрочитанному при входе в тему. Группы - одна из главных причин, по которым переделывается форум. Хочется туда запихнуть все “встречи-даты”, но в текущем состоянии группы плохо пригодны для массового использования. Так что насчет групп можете особо не беспокоиться. Там будет всё и сразу, не хуже чем на форуме.
Варьирование сортировки, фильтрации и размера страниц - очень “неудобная” вещь в плане производительности. Обычно стараются сделать один вариант, а остальных удобств добиться другими способами. Например, быстрым переходом сразу на нужное место. Поэтому если вам нужно изменить именно сортировку - попробуйте сформулировать “зачем”, а я подумаю, можно ли вашего “зачем” добиться иначе.
Виталий, спасибо за ответ 😃 и спасибо за приятные новости 😃
По поводу “сортировки”- она не принципиальна. Достаточно чтоб открывалось на последних сообщениях/странице. Сейчас в группе нет возможности открыть сразу последнюю страницу 😃
Вожно ли подправить темплейт движка чтобы ссылка “Переход к первому новому сообщению” была под большой иконкой
Позволит повысить юзабилити на мобильных девайсах в разы.
TRAHOMOTO
Ни наю, нарисуйте в ФШ, как надо, можно CSS-ом поправить(переместить) - вообще-то лучше бы только для мелких экранов, посколь на больших и так нормально.
А вообще, как Vitaly скажет, наверно даже такие мелкие поправки не будут вноситься - мон оставить в качестве пожелания для Нодеки
Александр, я к сожалению не владею фотошопом 😦 … но проиллюстрирую фаербагом
Сейчас ссылка “переход к первому не прочитанному” оборачивает имейдж firstnew.png
А я предлагаю предложение генерить линь a.treadstatus как дубль , ведь все равно AJAX “Отметить тему прочитанной” не используется
Я когда-то видел такой “финт” на каком-то ресурсе тоже на “vbulletin”. Безумно удобно!
PS если что, под картинками ссылки на картинки, а-то движок “зажимает” картинки width/height’ом
PPS кстати, если с темплейтом геморно, то можем обиграть JS’ом … я так понимаю jQ нетю?
А я предлагаю предложение генерить линь a.treadstatus как дубль, ведь все равно AJAX “Отметить тему прочитанной” не используется
Хорошая идея, реализуемо на jQuery, тогда .gotonewpost можно вообще убрать
(Только тут jQuery не подключен, а то мну мог бы нарисовать скриптик…
<script type=“text/javascript”>
$(‘.threadbit.new’).each(function (){
var L = $(this).find(‘.gotonewpost’).parent().attr(‘href’);
$(this).find(‘.threadstatus’).attr(‘href’,L);
$(this).find(‘.gotonewpost’).parent().remove();
});
</script>
Кто-нибудь может перевести это на традиционный JS ?
Комменты нужны?
“Быдлокодовый” скрипт … если будет политическая воля, дайте знать, добавлю еще немного проверок и потестирую
...
<body>
...
<script>
(function() {
var getThreadstatusNode = function(imgNewPost){
return imgNewPost
.parentElement // <a id="thread_gotonew_...
.parentElement // <h3 class="threadtitle">
.parentElement // <div class="inner">
.previousElementSibling; // <a rel="vB::AJAX" class="threadstatus"></a>
};
var newPostImgs = document.getElementsByClassName("gotonewpost");
for (var i in newPostImgs) {
var aNewPostClone,
aThreadstatusNode,
isOwn = (
newPostImgs.hasOwnProperty(i) &&
/^0$|^[1-9]\d*$/.test(i) &&
i <= 4294967294
);
if (isOwn) {
aNewPostClone
= newPostImgs[i]
.parentElement
.cloneNode(false);
aNewPostClone.removeAttribute("id");
aNewPostClone.className
= (aNewPostClone.className==""?"":aNewPostClone.className+" ") + "threadstatus";
aThreadstatusNode = getThreadstatusNode(newPostImgs[i]);
aThreadstatusNode
.parentElement //<div class="threadinfo" title="...">
.replaceChild(aNewPostClone, aThreadstatusNode)
}
}
})();
</script>
</body>
</html>
TRAHOMOTO
Чот заморочено слишком, неужели код на традиционном JavaScript настолько длиннее, чем на jQuery?
=====================================================================================================
aThreadstatusNode .parentElement //<div class="threadinfo" title="..."> .replaceChild(aNewPostClone, aThreadstatusNode) } } })();
Может так:
aThreadstatusNode .parentElement //<div class="threadinfo" title="..."> .replaceChild(aNewPostClone, aThreadstatusNode) } } }());
(В конце - }());
Виталий, прошу Вас не давайте мне пилюлю, я уверен Вы поддержите меня в этом вопросе, Вы ведь тоже Web Developer?
Александр.
Это проблема всех девелоперов, которые стартовали свою карьеру сразу jQ, пропустив БАЗУ JS и ECMAScript. Нет, в моем коде нет ошибки, нет проверок на наличие Нод, это да. Почитайте Java Script Bible - весьма полезное чтиво, очень расширяет кругозор 😉
Попробуйте такой код
(function(message){
alert(message);
})("Hello world");
Это называется анонимная рантайм функция, по сути объявление и вызов метода в одном флаконе. Я ее сделал таковой, чтобы не навешивать хендлер на “загрузку” DOM, т.к. кроссраузерная реализация по объему будет как весь этот скрипт!
Я не буду ничего править на вобле. Инфа 146%. В закрепленной теме написано почему.
Комменты нужны только по нодеке, позже.
ha$h
У меня при клике на появляется окошко (prompt) для ввода ссылки.
Добрый день. Есть просьба увеличть длительность сеанса активности аккаунта. Не успеваешь написать пост, даже не очень большой, а тебе: “…вы не имеете права…”. Если не сохранишь текст, то нужно опять набирать. Здесь очень быстро выкидывает из сеанса. На других форумах тоже встречалось такое, но администрация шла навстречу и становилось удобнее пользоваться ресурсом. Спасибо!