Пардон, я спросонья немного не в дугу ответил. Конечно, для динамических страниц значение для Last-Modified должно формироваться движком, не сервером.
Я имел ввиду, что вот эту логику — проверка заголовков от клиента If-Modified-Since/If-None-Match и, если что, отправка 304 без контента — вот это, как мне казалось, должен делать сервер, а не движок. Хотя, я могу ошибаться, не вполне в этом уверен.
Надо смотреть, какие ошибки js возникают. Откройте страницу в Хроме, нажмите ctrl+shift+J (откроется окно консоли) и перезагрузите страницу. В консоли должны появиться сообщения об ошибках
Кешируется либо в кеш по умолчанию, если он включен, либо в файл (если кеш выключен). Но это только для 1.1+, для 1.0+ кешируются только запросы к базе (если кеширование на сайте включено), а готовая карта, к сожалению, не кешируется.
Да, это неверно. Если нужно переопределять шаблоны доп.полей, то переопределять надо fields/customs/field.custom.*.tpl. Или fields/field.*.tpl, если речь о типовых полях топика — фотосет, голосование, теги, ссылки.
Алена, будете смеяться — это все есть в Альто с самого первого релиза :) С тех пор немного изменились шаблоны и их структура, а сам функционал не менялся.
Вывод через хук был в старых версиях и использовался для обратной совместимости. Сейчас это явно рудимент, который просто забыли удалить. И шаблонных файлов forms/view_field_*.tpl давно уже нет, но т.к. там выполняется проверка на наличие файлов, то ошибки не выдается и дублей не возникает, и идет отработка вхолостую.
Фактически, как я понимаю, суть в том, чтобы дать возможность более гибко формировать главную. Сейчас таких настроек в плагине Категории нет, но не вижу ничего сложного в том, чтобы задавать в настройках не только то, какие категории будут выводится на главной, но то, как они будут выводится. Выводятся категории блоками, и если для каждого типа представления свой шаблон блока подготовить, то можно их подставлять, как это в настройках задано.
Дело за малым: сформулировать, какие представления категорий на главной могут быть и нарисовать дизайн. А как это конфигурировать и верстка — это уже дело техники.
Здесь мы видим 1) двухколоночная с главной новостью; 2) простая лента. Что может быть еще?
Не получается воспроизвести ошибку. Какой браузер? Какой шаблон?
И на всякий случай: Алена наверняка имела ввиду не кеш браузера, а кеш движка. И бывают случаи, когда из-за неверных прав на директории через админку не очищается /_run/
Направление, куда двигаться для этого разработчику, я прямо в этой статье и дал:
Т.е. если в каком-то экшене, виджите или еще каком компоненте сформировать такой массив, а потом вызвать шаблон вывода карты, передав туда такой массив, то все эти метки будут отображены на карте.
Задача навскидку не кажется такой уж простой, если пытаться ее реализовать самостоятельно полностью с нуля. Думаю, имеет смысл поискать какие-то готовые решения, наверняка ведь есть уже. И тогда все сведется к тому, что нужно обернуть в плагин уже готовое решение. Возможно, выглядеть и работать будет немного не так, как Вам хотелось бы, но зато это будет и быстрее, и, разумеется, дешевле.
Как выше писал, ключевая проблема в расширении php5-imagick. Анимированные изображения сохраняются функцией writeImages(), которая как раз и реализуется этим расширением. Но она работала некорректно и сохраняла только один фрейм из серии.
Я не стал пробовать разные версии, чтоб найти, где баг исправлен, а где нет, а стал искать обходные пути, как можно иначе сохранять в файле анимированные гифки (ведь не у всех есть возможность системные библиотеки обновлять), и нашел.
Плюс попутно обнаружился баг, когда MIME-тип картинки неверно определялся системной функцией mime_content_type(). Тут тоже пришлось обходными путями действовать.
Итого, чтоб заработало все корректно, нужно обновить файлы:
engine/libs/PHPixie/Image/Imagick.php
engine/include/functions/File.php
В методе маппера GetTopicsByArrayId() SQL-запрос простой до безобразия, и если он возвращает число топиков меньше, чем запрашивается, то, судя по коду, проблема только в том, что нет соответствующих записей в таблице ?_topic_content. Если, конечно, имеем дело с «чистым» кодом, т.е. без вмешательства сторонних плагинов.
Я имел ввиду, что вот эту логику — проверка заголовков от клиента If-Modified-Since/If-None-Match и, если что, отправка 304 без контента — вот это, как мне казалось, должен делать сервер, а не движок. Хотя, я могу ошибаться, не вполне в этом уверен.
Вывод через хук был в старых версиях и использовался для обратной совместимости. Сейчас это явно рудимент, который просто забыли удалить. И шаблонных файлов forms/view_field_*.tpl давно уже нет, но т.к. там выполняется проверка на наличие файлов, то ошибки не выдается и дублей не возникает, и идет отработка вхолостую.
Дело за малым: сформулировать, какие представления категорий на главной могут быть и нарисовать дизайн. А как это конфигурировать и верстка — это уже дело техники.
Здесь мы видим 1) двухколоночная с главной новостью; 2) простая лента. Что может быть еще?
Оно?
И на всякий случай: Алена наверняка имела ввиду не кеш браузера, а кеш движка. И бывают случаи, когда из-за неверных прав на директории через админку не очищается /_run/
Я не стал пробовать разные версии, чтоб найти, где баг исправлен, а где нет, а стал искать обходные пути, как можно иначе сохранять в файле анимированные гифки (ведь не у всех есть возможность системные библиотеки обновлять), и нашел.
Плюс попутно обнаружился баг, когда MIME-тип картинки неверно определялся системной функцией mime_content_type(). Тут тоже пришлось обходными путями действовать.
Итого, чтоб заработало все корректно, нужно обновить файлы:
engine/libs/PHPixie/Image/Imagick.php
engine/include/functions/File.php