Редактор темы

Проблема всех версий dle "закладки"

Intention

Местный
Регистрация
15 Янв 2016
Сообщения
2.098
Рейтинг реакций
651
Баллы
113
Возраст
31
Адрес
Приморье
1/3
Автор темы
Hi everybody!

Решил сделать такую штучку:
Screenshot_1.png

Проблема:
- В кратких новостях просто не отображается тот факт, что новость уже в закладках.

Собсно сижу страдаю над файлами /modules/show.custom | full | short.
Пока безуспешно, может уже кто знает? Если решу выложу сюда.


Вот хитрый способ в две строчки:
В файле /ajax/favourites.php найти 2 раза строки:
PHP:
$db->query( "UPDATE " . USERPREFIX . "_users SET favorites=' и там дальше код еще чуть
разный
Ниже вставить соответственно 2 раза:
PHP:
clear_cache ("news", $cache_id . $cache_prefix);
Минус этой конструкции - сброс кэша кратких новостей каждый раз, как кто то будет добавлять что-либо себе в избранное.
Теоретически, в избранное добавляют не так часто в соотношении с обычным серфингом по сайту, поэтому способ вполне живуч, нужны только тесты на реальной нагрузке.

Спасибо говорить: @iNol
 
Последнее редактирование:
[add-favorites] текст [/add-favorites] - Выводят текст в них в виде ссылки на добавление новость в закладки на сайте
[del-favorites] текст [/del-favorites] - Выводят текст в них в виде ссылки удаление новости из закладок на сайте
http://dle-news.ru/extras/online/index.html?all16.html
 
Автор темы
@Gameer, Не-а, что ты думаешь я дурак?) Мало того что выползает модальное окно, которое вообще не нужно, так еще и после обновления страницы ничего не меняется, все также можно добавить новость в закладки.
Проверял на других сайтах, та же беда.
 
Найти первый :
PHP:
$tpl->set_block( "'\\[del-favorites\\](.*?)\\[/del-favorites\\]'si", "" );
Ниже вставить :
PHP:
$tpl->set_block( "'\\[not_in_fav\\](.*?)\\[/not_in_fav\\]'si", "\\1" );
$tpl->set_block( "'\\[in_fav\\](.*?)\\[/in_fav\\]'si", "" );
Найти первый :
PHP:
$tpl->set_block( "'\\[add-favorites\\](.*?)\\[/add-favorites\\]'si", "" );
Ниже вставить :
PHP:
$tpl->set_block( "'\\[not_in_fav\\](.*?)\\[/not_in_fav\\]'si", "" );
$tpl->set_block( "'\\[in_fav\\](.*?)\\[/in_fav\\]'si", "\\1" );
Найти :
PHP:
$tpl->set( '{favorites}', "" );
Ниже вставить :
PHP:
$tpl->set_block( "'\\[not_in_fav\\](.*?)\\[/not_in_fav\\]'si", "" );
$tpl->set_block( "'\\[in_fav\\](.*?)\\[/in_fav\\]'si", "\\1" );

[in_fav]В закладках[/in_fav]
[not_in_fav]Не в закладках[/not_in_fav]
 
@Gameer, Не-а, что ты думаешь я дурак?) Мало того что выползает модальное окно, которое вообще не нужно, так еще и после обновления страницы ничего не меняется, все также можно добавить новость в закладки.
Проверял на других сайтах, та же беда.
чтобы не было окна используй {favorites}

стилизация
engine\ajax\favorites.php
engine\modules\show.short.php (full.short.php)

по по сабжу, по моему вы не правы, всё у всех всегда работает- при добавлении краткой новости переходя во внутрению там тоже показывает, что она добавлена и наоборот
 
чтобы не было окна используй {favorites}

стилизация
engine\ajax\favorites.php
engine\modules\show.short.php (full.short.php)

по по сабжу, по моему вы не правы, всё у всех всегда работает- при добавлении краткой новости переходя во внутрению там тоже показывает, что она добавлена и наоборот
Конечно там такое есть. Добавить еще раз, просто не возможно.
upload_2016-3-13_23-14-48.png
 
Автор темы
@Gameer, @aleps, Тоже самое если использовать add-favorites / del-favorites.

Собсно проблема то вот она на живом примере.
Беру Prowebber. (ДОБАВЛЯЮ В ЗАКЛАДКИ)
upload_2016-3-14_7-19-55.png

ДОБАВИЛ и сразу показывает что все гуд, НО!
upload_2016-3-14_7-20-30.png

Обновляю страницу и вижу:
upload_2016-3-14_7-19-55.png

Бегу сломя голову в закладки и там вижу что все как надо, вот эта проблема меня беспокоит:
upload_2016-3-14_7-21-53.png
 
на провеббере может в короткой новости [add-favorites] [/add-favorites](т.е. всегда только на добавления) а в полной {favorites} ( или add и del-favorites ) или я хз

как совет обнови до актуально версии dle. Например, на 10.6 такой проблемы нет,у меня нет, сейчас специально проверял.
 
Автор темы
@aleps, 11 стоит у меня, а на провеббере стоит {favorites}.
Сейчас смотрю официальный сайт DLE. Добавляю краткую в закладки => Выходит модальное окно о том, что все добавлено => Обновляю страницу и получаю ту же хрень.
 
@aleps, 11 стоит у меня, а на провеббере стоит {favorites}.
Сейчас смотрю официальный сайт DLE. Добавляю краткую в закладки => Выходит модальное окно о том, что все добавлено => Обновляю страницу и получаю ту же хрень.
Код шаблона на добавление в закладки
 
Автор темы
@Gameer,
Код:
[group=5]<div style="color:#A29E9E;display:block;background:#eee;border:1px solid #d9d9d9;padding:3px;text-align:center;-webkit-box-shadow:01px 2px rgba(0,0,0,.075);box-shadow:1px 1px 2px rgba(0,0,0,.075);" data-toggle="tooltip" data-placement="bottom" title="Для использования требуется регистрация" data-original-title="Для использования требуется регистрация">Буду смотреть <i class="glyphicon glyphicon-ok"></i></div>[/group]
[not-group=5]{favorites}[/not-group]

Код:
$tpl->set( '{favorites}', "
                <a id=\"fav-id-" . $row['id'] . "\"
                   href=\"$PHP_SELF?do=favorites&amp;doaction=add&amp;id=" . $row['id'] . "\"
                   onclick=\"doFavorites('" . $row['id'] . "', 'plus', 0); return false;\"
                   style=\"color:#A29E9E;display:block;background:#eee;border:1px solid #d9d9d9;padding:3px;text-align:center;-webkit-box-shadow:01px 2px rgba(0,0,0,.075);box-shadow:1px 1px 2px rgba(0,0,0,.075);\"
                   data-toggle=\"tooltip\"
                   data-placement=\"bottom\"
                   title=\"Добавить фильм в коллекцию, чтобы не забыть его посмотреть\"
                   data-original-title=\"Добавить фильм в коллекцию, чтобы не забыть его посмотреть\">Буду смотреть <i class=\"glyphicon glyphicon-ok\"></i></a>
                   " );
 
Автор темы
@Gameer, Сначала думал может я накосячил, вернул все на исходную, поставил просто favorites без add и dell результат тот же и с dell и без
 
@Gameer,
Код:
[group=5]<div style="color:#A29E9E;display:block;background:#eee;border:1px solid #d9d9d9;padding:3px;text-align:center;-webkit-box-shadow:01px 2px rgba(0,0,0,.075);box-shadow:1px 1px 2px rgba(0,0,0,.075);" data-toggle="tooltip" data-placement="bottom" title="Для использования требуется регистрация" data-original-title="Для использования требуется регистрация">Буду смотреть <i class="glyphicon glyphicon-ok"></i></div>[/group]
[not-group=5]{favorites}[/not-group]

Код:
$tpl->set( '{favorites}', "
                <a id=\"fav-id-" . $row['id'] . "\"
                   href=\"$PHP_SELF?do=favorites&amp;doaction=add&amp;id=" . $row['id'] . "\"
                   onclick=\"doFavorites('" . $row['id'] . "', 'plus', 0); return false;\"
                   style=\"color:#A29E9E;display:block;background:#eee;border:1px solid #d9d9d9;padding:3px;text-align:center;-webkit-box-shadow:01px 2px rgba(0,0,0,.075);box-shadow:1px 1px 2px rgba(0,0,0,.075);\"
                   data-toggle=\"tooltip\"
                   data-placement=\"bottom\"
                   title=\"Добавить фильм в коллекцию, чтобы не забыть его посмотреть\"
                   data-original-title=\"Добавить фильм в коллекцию, чтобы не забыть его посмотреть\">Буду смотреть <i class=\"glyphicon glyphicon-ok\"></i></a>
                   " );
Их в общем то два тега (одинаковых) - так что должно работать - если конечно тег не был удален или изменен второйupload_2016-3-13_23-39-10.png
 
Автор темы
@Gameer, Девственники, за исключением моей правки. Проверь на оф. сайте DLE там точно такой же эффект.
upload_2016-3-14_7-47-22.png
 
Автор темы
@Gameer, Если я использую свой метод через favorites, то все обновляется как положено, кнопки меняются до первой перезагрузки страницы. После перезагрузки кнопка добавить возвращается назад.
 
Автор темы
@never3d22, Нет, он тут наврятли роль какую-то играет. Это что-то с выборкой из БД, но я не могу понять что именно.
 
Хз у меня тлже была такая проблема, но при очистке кэша становилось все ок
 
Автор темы
В общем все дело в том, что когда включаешь кеширование на сайте (самый первый checkbox) в настройках оптимизации, часть динамичности двиги теряется и страница отпадает в кеш, поэтому отпадает актуальность отображения закладок.
 

Похожие темы Последние темы Популярные темы

Назад
Сверху