Jump to content
Sign in to follow this  
webair

customcomments order="date"

Recommended Posts

{customcomments template="maincomment" available="main" from="0" limit="5" order="date"}

 

Выведет комментарии на самом деле по ID, а не по дате добавления. Хотя, ничто не мешало сделать сортировку по дате, MySQL ведь это позволяет.

В итоге, я столкнулся с ситуацией - разработал модуль добавления комментариев через админку(надо), конечно же при добавлении комментария присваивается ID инкрементируя последний ID, а дату я присвоил сам (не обязательно текущую дату).

 

Полагаю, то же самое и с customnews? Хотя, в DLE присутствует возможность при редактировании новости поменять дату, но в customnews эта дата не будет учитываться, а будет так и выводиться по ID, хотя задано выводить по дате?

 

Да, сортировать по дате в таком формате может быть более ресурсоемко, но поэтому я и просил вас ранее использовать unixtime (можно оперировать как с числами, по убыванию и по возрастанию), но вы, @celsoft, сослались на то, что вы используете разные форматы в зависимости от удобства для конкретных ситуаций.

Edited by webair

Share this post


Link to post
Share on other sites
7 минут назад, webair сказал:

Полагаю, то же самое и с customnews?

Нет, там все ровно, а вот в функции custom_comments похоже просто опечатка или несознательная ошибка  

Цитата

$allowed_sort = array ('date' => 'id', 'rating' => 'rating', 'rand' => 'RAND()' );

 

  • Like 1

Share this post


Link to post
Share on other sites

Нет никакой ошибки, и нет никакой опечатки. DLE работает по функциям и возможностям которые в нем предусмотрены. Изменение даты у комментариев в DLE не предусмотрено, и комментарий всегда публикуются текущей датой. У комментария через DLE нельзя поменять дату комментария. Нигде в нем такой стандартной функциональности нет. ID это автоматически присваемый идентификатор, который присваивается комментарию в текущий момент добавления, соответственно в DLE сортировка по ID равносильна сортировке по дате. При выборе сортировки по дате, DLE делает ее по ID, потому как это намного быстрее и менее ресурсоемко для сервера чем по дате, при этом сортивки полностью идентичны, согласно структуре работы DLE.

 

Вы сами принудительно минуя DLE провели модификации над датами, вне стандартной функциональности DLE, соответственно и должны проводить модификации и над сортировками, согласно вашей уже функциональности. Это не баги DLE, и исправлению они не подлежат. DLE в данном вопросе работает корректно согласно своей функциональности, при этом как обычно заботясь о быстродействии, делает это по наилучшим применительно к этим возможностям алгоритмам. Для текущей функциональности, это самый быстрый и правильный алгоритм. А ваши модификации не могут относится к багам непосредственно DLE, просто ваша модификация не дописана, и если вы меняете даты по своему усмотрению в модификациях, должны также в модификациях предусмотреть и соответствующую сортировку.

 

1 час назад, webair сказал:

Полагаю, то же самое и с customnews? Хотя, в DLE присутствует возможность при редактировании новости поменять дату, но в customnews эта дата не будет учитываться, а будет так и выводиться по ID, хотя задано выводить по дате?

Не правильно полагаете. Новости в отличие от комментариев в DLE, обладают стандартной возможностью изменения даты в админпанели. И DLE сортирует новости основываясь уже на дату а не на ID публикаций, и делает в этом вопросе для этого тега все корректно.

Share this post


Link to post
Share on other sites

То есть я публикую новость, ее кто-то откомментил, через неделю я хочу "поднять" новость, меняю дату на текущую и получается, что ее откомментировали еще до того, как она была опубликована?

Share this post


Link to post
Share on other sites
47 минут назад, alex32 сказал:

То есть я публикую новость, ее кто-то откомментил, через неделю я хочу "поднять" новость, меняю дату на текущую и получается, что ее откомментировали еще до того, как она была опубликована?

Безусловно, потому как даты комментариев от ваших действий не меняются, и никуда не сдвигаются.

Share this post


Link to post
Share on other sites
4 минуты назад, celsoft сказал:

Безусловно, потому как даты комментариев от ваших действий не меняются, и никуда не сдвигаются.

ну это лажа, читатель заходит на сайт и видит такую ерунду, что новость написана сегодня, а комментарий сделан неделю назад. так не бывает

Share this post


Link to post
Share on other sites
5 минут назад, alex32 сказал:

ну это лажа, читатель заходит на сайт и видит такую ерунду, что новость написана сегодня, а комментарий сделан неделю назад. так не бывает

Лажа в чем? В том что вы поменяли дату новости? Ну не меняйте ее. Вы же ее меняете. Удаляйте комментарии в таком случае. "Лажой" будет в данном случае то что если DLE будет сам править даты у комментариев. Например человек не был на сайте, в это время, потом вдруг увидел комментарий свой от этой даты.  Так по вашему бывает и это по вашему не "лажа"? Вы администратор сайта, и вы принимаете решение. Считаете что это лажа, то удаляйте тогда ранние комментарии у публикации, такая возможность есть. А вот редактировать дату за других пользователей, без их ведома, это точно "лажа". Новость на вашем сайте ваша, вы можете ее менять, а комментарий на сайте не ваш а чужой, это нужно четко понимать.

  • Upvote 1

Share this post


Link to post
Share on other sites

Супер, только как я не одному, а остальным сотням пользователям буду объяснять, что этот комментарий не моя залепуха, не моя провокация, не попытка в комментах хайп поднять, а "так задумано разработчиком"? А если комменты у меня вообще могут писать 5 человек, а остальные их читают, например, комментарии выступают в роли отзывов? Пигет пятеро, читают сотни, и эти сотни видят, что эти пятеро откровенно мухлют и оставляют отзыв на товар еще до того, как этот товар был опубликован на сайте? Никакая логика не объяснит, почему комментарий вышел раньше статьи. Значит при изменении даты новости, раз есть такая возможность в скрипте, должна быть настройка, менять или не менять дату комментариев. Потому что не могут быть комментариии написаны раньше того, как написана статья 

Share this post


Link to post
Share on other sites
11 минут назад, alex32 сказал:

Супер, только как я не одному, а остальным сотням пользователям буду объяснять, что этот комментарий не моя залепуха, не моя провокация, не попытка в комментах хайп поднять, а "так задумано разработчиком"?

Ваше предложение править даты чужих комментариев за других пользователей. И что это по вашему не провокация и не подделка, и не попытка поднять хайп?

 

11 минут назад, alex32 сказал:

Никакая логика не объяснит, почему комментарий вышел раньше статьи. Значит при изменении даты новости, раз есть такая возможность в скрипте, должна быть настройка, менять или не менять дату комментариев. Потому что не могут быть комментариии написаны раньше того, как написана статья 

Если вы следуете логике, то следуйте ей до конца, а не частично, не пытаясь что то подделать и переделать. Не меняйте дату публикации, у новостей есть дата редактирования новости, а при помощи тега {custom ...} с навигацией можно выводить публикации не по дате добавления, а по дате редактирования.

11 минут назад, alex32 сказал:

а "так задумано разработчиком"?

Это задумано не разработчиком, а задумано вами. Вы исправили дату новости, а не разработчик. А от разработчика вы требуете пойти еще дальше, и дать вам возможность подделывать еще и даты чужих комментариев. Я вам повторяю, публикации ваши, комментарии чужие. И да вы можете так и написать на своем сайте: простите что даты комментариев раньше новости, потому как разработчик разрешил нам менять даты наших публикаций, а подделывать даты чужих комментариев запретил.

  • Upvote 1

Share this post


Link to post
Share on other sites

Я вам привел вполне себе реальную ситуацию, когда комментарии могут добавляться не пользователями, а администраторами или редакторами.  Дата редактирования не поднимет новость наверх. А значит, ситуация, когда дата новости окажется может, чем комментарий быть. И эту ситуацию не исправить, потому что так заложено скриптом. И это неправильно. Раз возможна неправильная ситуация, значит должна быть возможность ее исправить. А ее нет.

31 минуту назад, celsoft сказал:

И да вы можете так и написать на своем сайте: простите что даты комментариев раньше новости, потому как разработчик разрешил нам менять даты наших публикаций, а подделывать даты чужих комментариев запретил.

а кто говорит о чужих комментариях? Еще раз: ситуации могут быть разные. И необязательно комментарии в статье принадлежать читателям.

Share this post


Link to post
Share on other sites
1 час назад, alex32 сказал:

Я вам привел вполне себе реальную ситуацию, когда комментарии могут добавляться не пользователями, а администраторами или редакторами.  Дата редактирования не поднимет новость наверх. А значит, ситуация, когда дата новости окажется может, чем комментарий быть.

Поднимет, если новости выводить тегом что я указал выше, с сортировкой по дате редактирования. Достаточно просто корректно оформить шаблон, и выводить можно без проблем с навигацией и прочим. На самом деле никакой проблемы в реальности нет, вы ее пытаетесь "придумать", просто вместо корректного оформления шаблона. Возможности для всего этого в скрипте есть, а вот редактирование даты комментариев, это придуманное вами "зло" по своей сути, а не благо.

Share this post


Link to post
Share on other sites
В 23.08.2018 в 15:32, celsoft сказал:

Нет никакой ошибки, и нет никакой опечатки. DLE работает по функциям и возможностям которые в нем предусмотрены. Изменение даты у комментариев в DLE не предусмотрено, и комментарий всегда публикуются текущей датой. У комментария через DLE нельзя поменять дату комментария. Нигде в нем такой стандартной функциональности нет. ID это автоматически присваемый идентификатор, который присваивается комментарию в текущий момент добавления, соответственно в DLE сортировка по ID равносильна сортировке по дате. При выборе сортировки по дате, DLE делает ее по ID, потому как это намного быстрее и менее ресурсоемко для сервера чем по дате, при этом сортивки полностью идентичны, согласно структуре работы DLE.

Почему тогда нет настройки сортировки новостей по ID?
Ведь не все используют функцию публикации на ещё не наступившую дату, тогда логичнее было бы делать выборку по ID, и экономить ресурсы сервера, но этого в настройках системы до сих пор нет.

Share this post


Link to post
Share on other sites
14 часов назад, Яйцерезка сказал:

Почему тогда нет настройки сортировки новостей по ID?

Прочитайте внимательно то что вы процитировали и то что я написал. Там четко и подробно описано, почему при текущей функциональности DLE, сортировка комментариев по ID и дате одно и то же, и не имеет различий.

 

14 часов назад, Яйцерезка сказал:

Ведь не все используют функцию публикации на ещё не наступившую дату, тогда логичнее было бы делать выборку по ID

Причем здесь публикации? В теме речь идет о комментариях, а не о новостях. У комментариев нет публикации на не наступишую дату.

Share this post


Link to post
Share on other sites
11 часов назад, celsoft сказал:

Прочитайте внимательно то что вы процитировали и то что я написал. Там четко и подробно описано, почему при текущей функциональности DLE, сортировка комментариев по ID и дате одно и то же, и не имеет различий.

Я знаю зачем было так сделано, но логичнее было бы всё таки добавить сортировку по id и отдельно по дате, тем более в свете того что вы сейчас активно продвигаете расширение функциональности с помощью плагинов, но при этом сами же вставляете палки в колёса на пустом месте, сделайте два типа сортировки и всё.

11 часов назад, celsoft сказал:

Прочитайте внимательно то что вы процитировали и то что я написал. Там четко и подробно описано, почему при текущей функциональности DLE, сортировка комментариев по ID и дате одно и то же, и не имеет различий.

 

Причем здесь публикации? В теме речь идет о комментариях, а не о новостях. У комментариев нет публикации на не наступишую дату.

Я про то что там где не очевидно вы подумали про оптимизацию, а там где это очевидно, например в выводе статей, нет.
Было бы неплохо тогда добавить сортировку по ID и в статьи, что бы экономить ресурсы сервера из коробки, там где это позволяют настройки сайта.

Share this post


Link to post
Share on other sites
12 часов назад, Яйцерезка сказал:

сортировку по id и отдельно по дате

Если DLE это не нужно, зачем это будет в базе DLE.

 

12 часов назад, Яйцерезка сказал:

тем более в свете того что вы сейчас активно продвигаете расширение функциональности с помощью плагинов

Ну так плагин и должен ее себе добавлять, а не бессмысленно функциональность "валяться" в дистрибутиве. Дистрибутиву эта функциональность не нужна.

Share this post


Link to post
Share on other sites
53 минуты назад, celsoft сказал:

Если DLE это не нужно, зачем это будет в базе DLE.

Если память мне не изменяет, у даты уже есть индекс в таблице комментариев, так что ничего плохого в добавлении функциональности сортировки customcomments не будет.

54 минуты назад, celsoft сказал:

Ну так плагин и должен ее себе добавлять, а не бессмысленно функциональность "валяться" в дистрибутиве. Дистрибутиву эта функциональность не нужна.

Он её не добавлять будет, а изменять, т.к. ID у вас не ID в реальности.

Share this post


Link to post
Share on other sites
11 часов назад, Яйцерезка сказал:

Он её не добавлять будет, а изменять, т.к. ID у вас не ID в реальности.

Как это называть это без разницы. Суть от этого не меняется. Нужную себе функциональность плагин должен делать сам, т.к. она ему и только ему нужна.

 

12 часов назад, Яйцерезка сказал:

Если память мне не изменяет, у даты уже есть индекс в таблице комментариев, так что ничего плохого в добавлении функциональности сортировки customcomments не будет.

Память вам изменяет. Нет индекса у этого поля в БД, опять таки по причине не надобности для стандартной функциональности.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...