Ris

Ris

+657
Репутация
3771
Рейтинг
#1 Обновить кэш пользователям. 14 марта 2018 в 22:12
Многие из нас пытаются сделать свои сайты как-то лучше, дорабатывают внешний вид, ставят новые версии шаблонов и т.д.
Но сам процесс обновления сильно удручает. К примеру, я устанавливаю новую версию шаблона tseso от Олега Васильевича или форума от Loadырь и пользователи присылают мне скриншоты полные боли и ужаса. Я всем советую жать CTRL+F5.
Все, кто знают, как жать — жмут, но у многих телефоны и планшеты и всем всего не объяснишь. А некоторые ни на что не жалуются, а просто, скрипя зубами обзывают админа уродом недоделанным, смотрят в кривые стили, плюют в дисплей и уходят с сайта.
Весь интернет полон советами заменить путь к стилям с 'styles.css' на 'styles.css?1234567' и тому подобное. На InstantCMS2 этот метод почему-то не прокатывает.
То есть изменение
<?php $this->addMainCSS($this->getTplFilePath('css/tseso.css', false)); ?>
на
<?php $this->addMainCSS($this->getTplFilePath('css/tseso.css?123456', false)); ?>
к успеху не приводит. Стили просто пропадают со страницы.
Пока просто принудительно меняю имена файлов и пути к ним.
Но может кто-нибудь знает более цивилизованные методы борьбы с кэшем в браузерах пользователей?
#1 как реализовать мероприятия? 14 марта 2018 в 15:30
@PowerBlack,
Тогда Вам лучше все же разобраться с генератором компонентов, чтобы все Ваши компоненты были однотипной структуры и вписывались в общую концепцию cms.
#2 как реализовать мероприятия? 14 марта 2018 в 14:46
@PowerBlack,
Что бы сделал я, если бы мне понадобился такой функционал:
Создал бы тип контента, добавил бы поле с чекбоксом "присоединиться" и, в случае постановки галки, добавление юзера в дополнительное поле, в таблице cms_con_мероприятия, через запятую или в yaml.
А уж достать ид юзеров из поля таблицы — дело несложное.
#3 [ЕСТЬ РЕШЕНИЕ] Подскажите, как удалить юзеров с сайта "пачками", а не поштучно(1,10,6) ? 14 марта 2018 в 10:54

а конкретней… чтобы кроме админа всех удалить ?

lezginka.ru
  1. DELETE * FROM cms_users WHERE user_id <> 1
#4 [ЕСТЬ РЕШЕНИЕ] Подскажите, как удалить юзеров с сайта "пачками", а не поштучно(1,10,6) ? 13 марта 2018 в 23:57
lezginka.ru,
Сначала надо решить, чем спамер отличается от честного юзера.
А потом запросом в базу.

Кстати, вроде в админке можно расставить галки на юзерах, а потом нажать "удалить".
Не помню уже первую ветку…
#5 как реализовать мероприятия? 13 марта 2018 в 15:13
@PowerBlack,
Вот эти два файлика посмотрите:
\system\core\user.php
\system\controllers\users\model.php
Там всяких функций ну просто море. И все человекопонятно называются.
#6 [ЕСТЬ РЕШЕНИЕ] Сортировка в наборах по id 13 марта 2018 в 11:13

Дата же меняется при обновлении записи

jorgovich
Не меняется.
#7 [ЕСТЬ РЕШЕНИЕ] javascript - не могу реализовать генерацию оглавления 9 марта 2018 в 23:33
Jestik,
Давайте попробую в меру своих поверхностных знаний расписать, что в этом коде написано. Более знающие да поправят меня!
  1. <script>hljs.initHighlightingOnLoad();</script> /* Дергаем какую-то функцию initHighlightingOnLoad() объекта hljs без всяких входных данных. Если объекта hljs в памяти браузера нет - ничего работать не будет */
  2. <script type="text/javascript">
  3. $(document).ready(function(){ /* Когда загрузится вся страница */
  4. $("h2").each(function(i,item){ /* На всех заголовках H2 производим какую-то функцию с аргументами i и item */
  5. var tag = $(item).get(0).localName; /* Объявляем переменную tag, которая что-то имеет из локалнейма (я не знаю что такое локалнейм) */
  6. $(item).attr("id","wow"+i); /* Добавляем итему (непонятно, что за итем) атрибут id="wow_дальше номер этой вавы равный i"
  7.   $("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>'); /* Дописываем в класс категории ссылку со всей фигней, что дальше*/
  8. $(".newh2").css("margin-left",0); /* Добавляем элементу маргин-лефт 0 */
  9. });
  10. });
  11. </script>
#8 [ЕСТЬ РЕШЕНИЕ] javascript - не могу реализовать генерацию оглавления 9 марта 2018 в 22:55
Jestik,
В консоли посмотрите. Ни на что не ругается?
#9 Меню админки 8 марта 2018 в 19:51

Админка полноценно не адаптивна, есть некоторые недочеты.

Atid — Gorec
Меня, например, не пугает горизонтальный скролл в админке, а доступ к админке с телефона иногда ох как нужен.
Какие из @media screen and (max-width: в \templates\default\controllers\admin\styles.css достаточно закомментировать, чтобы оно неадаптивно, но отображалось полностью?
В том виде в каком админка есть на мобильниках сейчас, её считай что нету.
#10 Долгие запросы MySql 6 марта 2018 в 15:30
lokanaft,
Я давно уже дописал фильтрацию и в подзапрос. Это видно там в первом спойлере.
#11 Долгие запросы MySql 6 марта 2018 в 11:32

Что подзапрос и должен заниматься фильтрацией — тогда это будет работать правильно.

lokanaft
Так оно и работает правильно, когда с подзапросом:
  1. SELECT i.*, r.score AS is_rated, u.nickname AS user_nickname, u.avatar AS user_avatar
  2. FROM cms_comments i
  3. JOIN (SELECT id FROM cms_comments WHERE is_deleted IS NULL ORDER BY id DESC LIMIT 961880, 20 ) c ON c.id = i.id LEFT JOIN cms_users AS u ON u.id = i.user_id
  4. LEFT JOIN cms_comments_rating AS r ON r.comment_id = i.id AND r.user_id='86'
  5. WHERE (i.is_deleted IS NULL) AND (i.is_approved = '1')
  6. ORDER BY i.date_pub DESC
  7. LIMIT 20
  8. Время выполнения 1.07298 секунд
Проблема в том, что в mysql_slow_queries.log то и дело появляются долгие запросы, в которых почему-то подзапрос не срабатывает:
  1. # TIME: 180306 11:28:25
  2. # USER@Host: ******** @ localhost []
  3. # Thread_id: 115670 Schema: ***** QC_hit: No
  4. # Query_time: 31.944684 Lock_time: 0.000539 Rows_sent: 20 Rows_examined: 1853053
  5. SET TIMESTAMP=1520324905;
  6. SELECT i.*, r.score AS is_rated, u.nickname AS user_nickname, u.avatar AS user_avatar
  7. FROM cms_comments i
  8. LEFT JOIN cms_users AS u ON u.id = i.user_id
  9. LEFT JOIN cms_comments_rating AS r ON r.comment_id = i.id AND r.user_id='0'
  10. WHERE (i.is_private = '0') AND (i.is_deleted IS NULL) AND (i.is_approved = '1')
  11. ORDER BY i.date_pub DESC
  12. LIMIT 926580, 20;
#12 Долгие запросы MySql 6 марта 2018 в 10:03
lokanaft,
Это функция инстанта getComments().
Я только дорисовал подзапрос с выборкой ид по лимиту.
#13 Долгие запросы MySql 6 марта 2018 в 09:40

поставить кэш на недельку

kirkr
Сейчас стоит 2 минуты. И то народ возмущается, почему посты на форуме с задержкой появляются.

не жадничать и докупить ресурса на VPS руб за 500-700.

kirkr
Не прикупить ли мне выделенный сервер для яндексовых упражнений? laugh
Пока нормально работает это решение:
instantcms.ru/forum/thread28414-2.html#284257
А дальше посмотрим, может что новое в голову придет или кто-нибудь что интересное предложит…
#14 Долгие запросы MySql 5 марта 2018 в 09:25

С добрым утром! В гугле и недавно в яше это уже не работает.

lokanaft
Утро доброе!
И как теперь с этим бороться?
Пока закрыл перелистывание комментариев
Disallow: /comments/all?page*
Но все равно надо что-то придумывать…
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.