Перейти к содержанию

Павел

Команда сайта
  • Постов

    1 218
  • Зарегистрирован

  • Посещение

  • Победитель дней

    181

Весь контент Павел

  1. Самый простой способ добавить новый язык на ваше сообщество, это установить готовый языковой пакет. Многие из них доступны в категории Translations на официальном сайте разработчика. Скачать русский языковой пакет для IPS4 можно в нашем специальном разделе на сайте. Языковой пакет состоит из одного файла с расширением .xml. Если языковой пакет, который вы устанавливаете, содержит другие файлы, следуйте инструкциям локализатора. Для установки пакета, перейдите на страницу Кастомизация > Локализация > Языки в вашем админцентре. Нажмите на кнопку "Создать" и во всплывающем окне выберите вкладку "Загрузить". Укажите файл языкового пакета. Установка нового языка в IPS4 Локаль определяет, как будут форматироваться числа и даты в программном обеспечении. Один и тот же язык может использоваться в разных локалях; например, английский язык используется в США и Великобритании, хотя эти страны имеют разные локали и разное форматирование чисел и дат. Выберите локаль, которая наилучшим образом соответствует вашему сообществу (вы можете установить один языковой пакет несколько раз с несколькими локалями, если хотите). Нажмите кнопку Сохранить для установки языкового пакета. Теперь вы увидите новый язык в списке языков; он включён и готов к использованию вашими пользователями!
  2. Invision Community полностью переводим и может поддерживать любые языки. По умолчанию встроен только один язык - English (US), но другие языки также могут быть добавлены путём: Загрузки готового языкового пакета. Создания своего собственного языкового пакета. Что охватывают языковые пакеты? Языковой пакет управляет: Языком, на котором отображается интерфейс. Форматирование чисел и дат (локале-зависимо). Направление текста (слева направо или справа налево). Позволяет вам переводить определённый контент, созданный администратором, например названия форумов, названия групп пользователей и т.д. Локали Локаль вашего языка в первую очередь определяет форматирование числе и дат. Хотя каждый язык, установленный на вашем сообществе, имеет собственную локаль, локаль можно выбирать. Это происходит потому, что язык часто может использовать больше одной локали, например, Английский язык используется как в США, так и Великобритании, хотя это разные локали с разным форматирование дат. Если это необходимо, вы можете установить один и тот же языковой пакет несколько раз и выбрать при установке разные локали для каждого, позволяя пользователям выбирать различное форматирование дат. Несколько языков Invision Community позволяет установить сразу несколько языковых пакетов, тем самым позволяя пользователям переключаться между языками. Языковые пакеты не переводят созданный пользователями контент, например сообщения форумов; они будут отображаться только на набранном пользователем языке. Если у вас пользователи будут общаться на разных языках, имеет смысл для каждого языка создать отдельный контейнер (например форум).
  3. Павел

    Обновление тем

    При появлении нового программного обеспечения, в нём неизбежно будут внедрены изменения в стандартных шаблонах, которые должны быть перенесены в ваши кастомные темы. При обновлении, только неизмененные шаблоны будут автоматически обновлены, и вам нужно самостоятельно внедрить изменения в необновлённые шаблоны. Есть несколько инструментов, доступных для вас, чтобы достичь этого. Каждый из которых описан ниже. Различия тем Инструмент различия тем это внешний инструмент, расположенный на сайте разработчика по ссылке: https://invisionpower.com/index.php?app=core&module=system&controller=plugins&do=diff Этот инструмент позволит вам увидеть различия между 2 версиями IPS4, начиная с 4.0.0 и до текущей. Инструмент сравнения различий в шаблона IPS4 После того, как вы выбрали версии для сравнения, вы увидите все изменения между шаблонами выбранных версий в формате, показанном на изображении ниже. Красный текст показывает удалённый код, зелёный - добавленный код. Различия в шаблонах Сравнение в админцентре Вы можете сравнить изменённый шаблон вашей темы со стандартным шаблоном прямо в вашем админцентре. Прежде всего, вы должны знать какие именно элементы были изменены в вашей теме. Вы можете сделать это с помощью меню выбора, расположенного сверху списка шаблонов, и выбрать в меню только модифицированные шаблоны. Это позволит вам быстро найти все шаблоны, которые вам необходимо обновить вручную после обновления программного обеспечения. Поиск модифицированных шаблонов темы После того, как вы нашли и открыли шаблон, над которым необходимо поработать, вы увидите кнопку Инструменты в правом верхнем углу экрана. При нажатии на неё вы увидите опцию, которая покажет вам стандартный код шаблона. Настройки шаблонов После того, как вы выбрали это, вы увидите стандартный шаблон, расположенный рядом с модифицированным, и отображающий все изменения, как показано на изображении ниже. Обратите внимание, что вы не можете редактировать код стандартного шаблона. Просмотр изменений шаблонов в админцентре
  4. Invision Community поддерживает языки, которые использую текст справа налево (включая арабский, персидский и другие), и если вы создаёте тему, которой будете делиться с другими, вы должны убедиться в том, что совместима с языком справа налево. Это очень просто. Специальный CSS для RTL При отображении RTL, некоторые свойства CSS нужно поменять местами; например, если вы позиционируете что-то слева в языке слева направо, когда тема показана в языке справа налево, это должно позиционироваться справа. Глобальный шаблон в IPS4 всегда имеет атрибут dir определяющий направление текста (значение будет ltr или rtl), и именно этот атрибут мы можем использовать в стилях, которые основываются на направлении текста. Давайте представим, у вас есть некоторый CSS в вашей теме, например такой: .yourClass { font-weight: bold; position: absolute; left: 15px; top: 15px; padding-left: 30px; } Некоторые из этих свойств должны быть переназначены для RTL, иначе тема будет отображена неверно. Так, с помощью атрибута dir в теге html, мы должны написать следующее: /* Эти стили одинаковы для всех направлений текста */ .yourClass { font-weight: bold; position: absolute; top: 15px; } /* Стили LTR */ html[dir="ltr"] .yourClass { left: 15px; padding-left: 30px; } /* Стили RTL */ html[dir="rtl"] .yourClass { right: 15px; padding-right: 30px; } Языки RTL теперь будут корректно позиционировать элемент на правой стороне экрана, а языки LTR будут отображать элемент слева. Всякий раз, когда вы используете стили для разного направления текста, вы должны разделить их именно таким образом. Специальные иконки для RTL Invision Community активно использует иконки FontAwesome. Некоторые иконки должны быть перевёрнутыми для языков RTL (например стрелки) и если вы используете стандартные имена классов (например, fa-caret-left), мы автоматически переворачиваем её, чтобы она подходила для языков RTL. Если вы вручную указали иконки в ваших CSS классах с помощью unicode, вы также должны изменить их для поддержки RTL. Например, имеем такой CSS код: /* Это использует unicode для иконки FontAwesome 'angle-right' */ .nextLink:after { font-family: 'FontAwesome'; content: '\f105'; } Вам нужно изменить на это: .nextLink:after { font-family: 'FontAwesome'; } html[dir="ltr"] .nextLink:after { content: '\f105'; } html[dir="rtl"] .nextLink:after { content: '\f104'; } Рассмотрите собственный Javascript код Как правило, это не потребует каких-либо действий. Тем не менее, если у вас есть какие-либо пользовательские JavaScript коды, которые взаимодействуют с пользователем, вы должны сделать соответствующие правки в нём. Например, если у вас есть меню, которое открывается слева страницы, вы должны также продублировать его открытие справа. Если вы используете какие-либо UI виджеты, включённые в Invision Community, они не требуют никакой адаптации.
  5. Хотя система тем позволяет применить практически неограниченное количество возможностей, здесь мы разберём некоторые приёмы, которые мы рекомендуем вам применить. Это упростит процесс создания и использования тем. Не редактируйте стандартные CSS файлы Всякий раз, когда изменён файл стандартной темы, процесс обновления сайта становится немного сложнее, потому что должны быть обработаны все изменения. Это просто решить для CSS, т.к. по своей натуре они каскадны - то есть вы можете создать свои собственные CSS файлы, которые могут переопределять значения стандартных CSS файлов, при этом не влияя на процесс обновления CSS при обновлении сайта. В качестве помощи, в IPS4 поставляется пустой CSS файл под названием custom.css, который вы можете использовать для кастомизации темы. Для простых тем, хранение кастомизаций в данном файле будет достаточным. Однако, вы можете создать несколько кастомных CSS файлов в группе, если хотите, и они будут автоматически подключены (нет необходимости использовать подключение с помощью @import). Кастомный css файл Invision Community всегда загружает ваши кастомные CSS файлы последними в очереди загрузки, так вы можете использовать те же селекторы, как в стандартных CSS файлах и ваши новые стили должны переопределять стандартные значения. Внедряйте минимальные изменения в шаблоны Редактирование шаблонов также может привести к трудностям при обновлении, поскольку кастомизированные шаблоны могут не иметь новый HTML код для новых функций, или что хуже, нарушать шаблоны, вызывая переменную, которая была удалена. Тем не менее, в отличие от CSS файлов, шаблоны не каскадны, и в некоторых случаях редактирования шаблона является единственным путём кастомизации. Поэтому, мы рекомендуем вам максимально попытаться минимизировать кастомизацию шаблонов. Существует несколько стратегий для этого: Используйте CSS, где это возможно Использование HTML кода в шаблонах для достижения необходимого визуального стиля может быть весьма заманчивым. Мы рекомендуем рассмотреть использование CSS для реализации задуманного где это возможно, т.к. это сделает поддержку вашей темы намного проще в долгосрочной перспективе. Используйте включение шаблонов и пользовательские шаблоны Если вы добавляете большой блок HTML кода в шаблон (больше нескольких строк), подумайте над размещением этого кода в кастомном шаблоне, затем вызовите этот шаблон в стандартном шаблоне. Таким образом, кастомизация стандартного шаблона состоит только во включении тега вызова, который можно вернуть в исходное состояние и добавить тег вставки шаблона обратно без особых усилий. Для вызова пользовательского шаблона, вы можете сделать: {template="myCustomTemplate" group="<group>" app="<app>"} где <group> и <app> являются ключами для местоположения, которое вы выбрали при создании вашего кастомного шаблона. Рассмотрите возможность создания хука Хуки приложения имеет возможность изменять шаблоны с помощью 'перехвата' кода. В некоторых ситуациях, использование хуков может быть более подходящим, чем непосредственное редактирование шаблона. Помните о поддержке мобильных устройств Invision Community изначально разработан отзывчивым, то есть стандартная тема корректно работает на всех устройствах, независимо от разрешения экрана, будь то настольный компьютер или мобильный телефон. Когда вы производите изменения в вашей теме, не забудьте о поддержке мобильных устройств и убедитесь в том, что вы также включили адаптивные стили тоже. Вы можете использовать инструмент, подобный веб-инспектору Google Chrome, чтобы имитировать различные размеры экранов, или BrowserStack для тестирования темы на реальных устройствах. Помните о поддержки справа налево Invision Community разработан для полноценной работы на типах языков - справа налево (RTL) и слева направо (LTR). Если вы создаёте тему, которой хотите поделиться с другими, помните о поддержки RTL.
  6. Настройки тем являются одним из способов настройки переменных, используемых вашей темой и которые отвечают за кастомизацию темы в админцентре. Например, по умолчанию тема IPS4 хранит большинство своих цветов в качестве настроек темы, а также эти настройки представлены в редакторе Easy Mode. Настройки темы особенно полезны в случаях, когда вы планируете делиться своими темами с другими, но они также будут полезны для применения в собственных нуждах. Например, вы можете захотеть сделать баннер сверху страниц вашего сайта, информирующий ваших пользователей о предстоящих событиях. Вместо постоянного редактирования шаблонов вашей темы для добавления/изменения/удаления сообщения, вы можете создать несколько настроек - одну для скрытия/отображения сообщения, а другую, содержащую сам текст. IPS4 поддерживает широкий диапазон типов полей для настроек тем, открывая большие возможности для создания собственных тем. Управление настройками тем Настройками тем можно управлять только в Режиме дизайнера. Перед продолжением убедитесь, что вы активировали Режим дизайнера. Управление настройками тем происходит на странице Кастомизация > Внешний вид > Темы в админцентре, нажмите на выпадающее меню напротив названия темы и выберите пункт Пользовательские настройки. Пользовательские настройки темы Вы будете перемещены на страницу списка всех настроек темы. Вы можете перетащить настройки упорядочив их как вам хочется с помощью иконки слева, а также изменить/удалить настройку с помощью кнопок справа. Настройки темы могут быть сгруппированы, а группы представлены в виде вкладок сверху страницы. Создание настроек темы Для создания настройки темы, нажмите кнопку "Добавить настройку" сверху страницы. Вы увидите всплывающее окно: Добавление настройки темы Название ключа языка Настройки темы должны быть переводимы на разные языки. Таким образом, вместо того, чтобы ввести название настройки по-русский или по-английски, вы должны указать ключ языка, и затем создать эту новую фразу. Так как вы находитесь в Режиме дизайнера, в директории темы создан файл языка под названием lang.php, так вы должны создать в нём языковую фразу и указать её ключ в это поле. Для приложения Соответствующее данной настройке приложение; в большинстве случаев это будет Core. Ключ Это то, на что будет ссылаться настройка темы в шаблонах и CSS файлах, таким образом ключ должны быть простым и понятным. Тип вкладки Контролирует группировку настройки. Если вы хотите добавить настройку в существующую группу, выберите её в следующей настройке; иначе, выберите Новая вкладка и введите её название в текстовое поле. Тип Определяет тип поля, который будет использовать данная настройка. Значение по умолчанию Поле Значение по умолчанию отображается для всех типов полей, и определяет какое значение будет иметь данная настройка, если администратор её не меняет. Примечание: для типа поля Цвет, указанное здесь значение должно быть в шестнадцатеричном формате со знаком '#' впереди, например #ff0000. Показывать условно? Укажите исходный PHP код, который, при возвращении функцией eval логического значения, указывает должна отображаться настройка или нет. Сохраните форму добавления настройки, и выйдите из Режима дизайнера когда закончите создавать настройки для темы. Изменение значений настроек темы Значения настроек темы изменяются администратором на стандартном экране редактирования настроек темы. перейдите на страницу Кастомизация > Внешний вид > Темы и нажмите кнопку Изменить, расположенную справа от названия темы. Настройки тем доступны на вкладках и могут быть скорректированы в зависимости от типа поля: Настройки темы Использование настроек темы Теперь, когда вы создали настройки темы, они могут быть использованы в ваших шаблонах и CSS файлах. Существует несколько способов из использования. Тег {theme} Если вы просто хотите вывести значение настройки (например, в CSS файле установить значение стиля как значение настройки темы), IPS4 предоставляет возможность использовать для таких случаев специальных тег: {theme="your_theme_key"} Пример его использования: body { background-color: {theme="page_background"}; } HTML логика Если вам нужно проверить значение настройки темы в HTML логике (например, чтобы определить, должен ли быть отображён HTML блок или нет), вы можете воспользоваться следующей переменной: theme.your_theme_key Пример использования переменной в логике шаблонов: {{if theme.forum_layout === 'grid'}} ... {{else}} ... {{endif}}
  7. В то время, как стандартный редактор шаблонов полезен для небольшого редактирования, для более больших и комплексных изменений, редактирование с использованием привычных программных средств (IDE) является более предпочтительным. Invision Community позволяет это сделать с помощью Режима дизайнера. Что такое Режим дизайнера? Режим дизайнера позволяет вам использовать привычную среду разработки путём экспорта всех шаблонов и CSS файлов на диск в качестве отдельных файлов, а затем повторного импорта файлов обратно, когда вы закончите разработку. При активном Режиме дизайнера, программное обеспечение позволит менять файлы шаблонов и CSS стилей и видеть изменения в режиме реального времени. Режим дизайнера не должен использоваться на живом сообществе, т.к. будет сообщество будет иметь некоторые последствия использования ресурсов. Мы всегда рекомендуем производить разработку тем в Режиме дизайнера на тестовых установках. Включение Режима дизайнера Первый шаг активации - создать директорию под названием "themes" в корневой директории вашего сообщества (там же, где расположен ваш файл conf_global.php). Установите CHMOD для директории 777. Далее, перейдите на страницу вашего админцентра Кастомизация > Внешний вид > Темы. В верхней части страницы нажмите на кнопку Режим дизайнера. Переключите настройку после прочтения информационного сообщения и сохраните изменения. IPS4 начнёт запись файлов темы на диск. После завершения, вы увидите структуру директорий, подобную этой в директории /themes на вашем сервере: Список файлов тем на диске Все установленные темы экспортируются при включённом Режиме дизайнера; родительская директория в этой структуре носит название ID темы. Вы можете увидеть ID темы после включения режима дизайна на странице списка тем: Просмотр номеров ID тем Каждая директория темы содержит четыре ключевые части: /css CSS код для темы, сгруппированные сначала по приложению, затем по расположению (front/admin/global). /html Используемые темой HTML шаблоны с расширением *.phtml, сгруппированные сперва по приложению, затем по расположению (front/admin/global), и по области применения. lang.php Файл языка, в который вы можете добавить собственные языковые строки, необходимые для вашей темы. Строки должны быть в формате: 'ключ_фразы_без_пробелов' => "Фраза" /resources Ресурсы для темы (в основном изображения), сгруппированные сначала по приложению, затем по расположению (front/admin/global), затем по типу. Редактирование шаблонов Когда вы редактируете *.phtml файл шаблона, экспортированные Режимом дизайнера, вы увидите специальный тег в первой строке каждого файла, похожий на этот: <ips:template parameters="$title,$html,$location=array()" /> В этом теге содержатся переменные, которые принадлежит данному шаблону. Важно не изменять данную строку в файлах шаблонов, иначе это приведёт к ошибке темы. Завершение работы в Режиме дизайнера Когда вы внесли все изменения, вы можете отключить Режим дизайнера для импорта файлов обратно на сайт (обратите внимание, что вы можете включить Режим дизайнера позже, если захотите продолжить). Чтобы это сделать, вернитесь назад к странице списка тем в меню Кастомизация > Внешний вид > Темы, и нажмите на красную кнопку "Режим дизайнера включён". Когда вы отключите настройку, вы увидите уточняющее сообщение, запрашивающее ваше подтверждение на синхронизацию изменений. Убедитесь, что опция "Синхронизация изменений" активирована при сохранении, иначе ваши изменения будут утеряны. Вы можете указать темы индивидуально, чтобы их синхронизировать, или все сразу. Вы также можете автоматически удалить файлы с диска при синхронизации тем.
  8. Стандартным способом редактирования темы является использование инструмент редактирования шаблонов, который доступен в вашем админцентре. Он обеспечивает лёгкий доступ к шаблонам и CSS стилям и не требует каких-либо специальных настроек. Для начала редактирования темы, перейдите на страницу Кастомизация > Внешний вид > Темы и нажмите на иконку кода справа от темы, которую хотите изменить. Если тема, которую вы хотите изменить, изначально создана с помощью Простого редактора, иконка кода будет расположена в выпадающем меню. Кнопка редактирования шаблонов темы После этого вы увидите следующее: Редактор кода шаблонов и CSS файлов 1. Список файлов Боковая панель содержит список доступных шаблонов/CSS файлов в данной теме. В списке тем шаблоны сперва сгруппированы по их приложению, затем по front/global, и, наконец, по области применения. front - используется в публичной части сайта; global - используется как в публичной части, так и в админцентре. Четыре различные иконки могут отображаться справа у каждого элемента в списке, обозначающие статус элемента: M - Этот файл был изменён в предыдущей версии Invision Community и может быть устаревшим. M - Этот файл был изменен в текущей версии the Invision Community. I - Этот файл наследуется от родительской темы. Изменения в файле родительской темой будут отражены применены и здесь. C - Этот файл является уникальным для данной теме (т.е. он был добавлен вручную). Вы можете переключаться между шаблонами и CSS файлами с помощью вкладок, расположенных сверху списка элементов. Оба типа файлов могут быть одновременно открыты в редакторе. 2. Редактор Основное окно редактирования может иметь вкладки, сам редактор подсвечивает синтаксис кода и позволяет вам редактировать код шаблонов и CSS файлы одновременно. Откройте вкладку, кликнув на файл в боковом блоке; закройте вкладку, нажав на X на вкладке. Если файл содержит несохранённые изменения, вместо X во вкладке будет отображена жирная точка, напоминающая вам об этом. 3. Поиск Легко найти любой шаблон или CSS файл с помощью данной формы поиска. Эта форма производит поиск по названию шаблона и его содержимому. 4. Вернуть Если текущий выбранный файл имеет сохранённые изменения (то есть она отличается от этого же шаблона в стандартной теме), кнопка Вернуть будет доступной для нажатия на неё. Клик по ней вернёт данный файл в исходное состояние - любые изменения в нём будут удалены. Это может быть полезно после обновления, когда данный файл может стать устаревшим. В подобных ситуациях лучшим выходом будет возврат файла в исходное состояние и повторное применение внесённых ранее изменений. 5. Переменные Большинство шаблонов имеют переменные, передаваемые в них серверным кодом; эти переменные часто используются для отображения необходимых данных или контроля отображения в в зависимости от обстоятельств. Нажав на кнопку Переменные, вы увидите всплывающее окно со списком переменных, используемых в данном шаблоне, таким образом вы можете знать, какие данные передаются в шаблон. Не следует добавлять, изменять или удалять переменные из всплывающего окна, если вы не разрабатываете приложение и знаете что делаете. Изменение переменных здесь приведет к ошибкам, потому что это больше не будет соответствовать тому, что сервер передаёт в движок шаблона. 6. Настройки редактора Настройки редактора представляет из себя выпадающее меню, содержащее несколько опций, которые влияют на поведение редактора. Вы можете настроить их в соответствии с вашим собственным вкусом. 7. Новый файл Кнопка "Новый" позволяет вам добавить собственный HTML шаблон и CSS файл в тему. Это отличный способ, чтобы держать ваши изменения изолированными от стандартных шаблонов/css файлов, что позволяет легче переносить обновление сайта, об этом мы поговорим в другой инструкции.
  9. Тема в Invision Community позволяет практически безгранично визуально кастомизировать программное обеспечение. Темы в основном используются для придания сообществу общий брендинг с основным сайтом или стилем компании, но многие сообщества позволяют своим пользователям выбирать тему по своему вкусу. Тема состоит из следующих частей: Шаблоны Шаблоны визуализируют HTML код в дизайн. Они состоят из простого HTML кода, HTML логики и переменных PHP, а также специальных тегов плагинов. CSS стили Стандартные CSS файлы, стилизующие страницу. Ресурсы Обычно изображения, хотя могут быть и другие типы ресурсов. Настройки темы Специальные предварительно установленные настройки, которые вы можете сами создать для вашей темы. Invision Community позволяет с помощью тем настраивать все перечисленные выше элементы, и предоставляет все необходимые инструменты для этого. Примечание: Вообще, кастомизация тем с помощью этих расширенных параметров, предполагает знания HTML, CSS и в некоторых случаях Javascript. Внесение изменений без полного понимая последствий может привести к проблемам на ваше сайте. Рассмотрите возможность использования других инструментов редактирования темы, например Создание темы с помощью Easy Mode. Изменение тем Существует два основных способа изменения темы, каждый из которых мы рассмотрим в отдельной инструкции. Template editor Админцентр предоставляет интерфейсы для редактирования каждого типа ресурсов темы. Режим дизайнера Специальный режим, который экспортирует тему в файлы на диск, что позволяет редактировать тему с помощью привычных сред разработки.
  10. Павел

    Экспорт темы

    Если вы создали тему и хотите поделиться с другими или сохранить для резервной копии, Invision Community позволяет с лёгкостью скачать её. Чтобы сделать это, перейдите на страницу Кастомизация > Внешний вид > Темы вашего админцентра и нажмите на иконку впадающего меню, расположенную справа от названия темы, которую вы хотите экспортировать. Нажмите пункт в меню "Скачать" и через несколько секунд начнётся загрузка .xml файла темы. Кнопка скачивания темы в IPS4 Этот специальный файл содержит в себе всё необходимое для установки темы в другом сообществе, включая все изображения.
  11. Темы в Invision Community предлагают простой способ изменения трёх ключевых изображений, используемых этим программным обеспечением - логотипа сайта, фавиконки и изображения для социальных сетей. Разберём как их изменить на свой: Логотип Изображение логотипа отображается сверху на каждой странице вашего сообщества. Фавиконка Маленькое изображение, отображающееся на вкладке браузера пользователя, а также в рядом с закладкой в браузере. Логотип для социальных сетей Социальные сети обычно прикепляют это изображение к записи, которой пользователь делится с помощью кнопок "Поделиться в социальных сетях". Обычно это укрупнённое изображение вашего логотипа. Для того, чтобы изменить эти базовые изображения, измените настройки вашей темы, для этого перейдите на страницу вашего админцентра Кастомизация > Внешний вид > Темы и нажмите кнопку Изменить: Кнопка изменения настроек темы На вкладке Логотипы, вы увидите три поля для загрузки, куда вы можете перетащить ваши изображения. Затем сохраните изменения. Обратите внимание: Изображение фавиконки должны иметь расширение .ico, не обычное стандартное изображение. А также оно должно быть небольшим и отображается в браузерах в размерах 16 пикселей на 16 пикселей. Вы можете воспользоваться онлайн инструментами для создания собственного изображения фавиконки.
  12. Для большинства администраторов создание темы с помощью Простого редактора будет предпочтительным вариантом. Он позволяет изменить стандартную тему с помощью метода «укажи и щелкни» и увидеть изменения в режиме реального времени, при это не требует никаких знаний программирования. Создание темы Для создания темы, перейдите на странице Кастомизация > Внешний вид > Темы. Нажмите кнопку "Добавить тему". Во всплывающем окне выберите опцию Простой режим и нажмите Далее. На следующем экране вы сможете произвести некоторые настройки вашей новой темы: Имя (обязательно) Будет отображено пользователям вашего сайта Родитель Вы можете сделать эту тему дочерней по отношению к другой, то есть она будет наследовать любые изменения в шаблонах/стилях от родительской темы. Стандартная тема на сайте? Делает эту тему стандартной для гостей и пользователей, которые не изменили себе тему. Доступна для Устанавливает права доступа для групп, на использование этой темы. Например, тема может быть доступна только для "премиум" пользователей как дополнительно оплачивая возможность. Стандартная тема для админцентра? Вы можете отдельно создать тему для админцентра и установить её для использования только в админцентре. Нажмите кнопку Сохранить поле настройки необходимых параметров. Ваша тема будет создана и вы будете перемещены к списку тем. Запуск редактора Easy Mode Со страницы списка тем в вашем админцентре, вы можете нажать на кнопку волшебной палочки справа от названия темы для запуска визуального редактора (вы должны быть авторизованы на сайте, для его запуска): Кнопка редактирования темы в редакторе Easy Mode Обратите внимание: вы можете запустить визуальный редактор в любое время, даже через некоторое время после создания темы. Однако, если вы преобразовали Easy Mode в нормальную тему, вы больше не сможете запустить визуальный редактор. Запуска визуального редактора переместить вас на главную страницу вашего сообщества в режиме редактирования. Ваше сообщество будет отображено слева, а инструменты редактирования в блоке справа: Боковой блок справа, позволяющий редактировать цвета сайта Визуальный редактор имеет несколько ключевых функций при создании вашей темы. Мы рассмотрим их ниже. 1. Раскрасить Этот инструмент позволяет вам мгновенно изменить основные цвета темы. Нажмите кнопку Раскрасить и вы увидите четыре палитры: Раскрашиватель основных цветов Нажав на определённый цвет, вы сможете указать другой цвет, который будет мгновенно применён на предварительном просмотре. Выбор цвета Инструмент Раскрашиватель отлично отлично подходит для первого шага кастомизации темы - если вы знаете, что хотите тему в зелёных тонах (например), вы можете изменить основные цвета темы, о оставшиеся цвета и элементы откорректировать с помощью других инструментов. Если вам не нравится результат, вы можете нажать кнопку "Вернуть", чтобы отменить изменения. 2. Инструмент выбора Данный инструмент позволяет вам с помощью метода «укажи и щелкни» выбрать области на ваше сайте, и визуальный редактор автоматически покажет вам редактор цветов данной области. Выбор области для редактирования цветов 3. Пользовательский CSS Если вы знакомы с CSS, редактор Easy Mode позволяет вам добавить собственный CSS код в вашу тему без необходимости преобразования её в полностью вручную редактируемую тему. Просто нажмите на кнопку CSS, и вам откроется редактор кода. И да, код будет применять в режиме реального времени! 4. Редактор стилей Доступные для изменения стили перечислены в главной панели. Нажмите на один из них просмотреть и изменить цвета элемента. Некоторые стили позволяют редактировать только фон, другие могут позволить изменить цвет шрифта. Выбор основного цвета Цвет фона может быть градиентом, для этого нажмите соответствующую кнопку, рядом с выбором цвета. Чтобы использовать градиент, для начала укажите его направление, а затем добавьте необходимые цвета для его формирования. Переключение в режим градиента 5. Построение Вкладка Построить предназначена для завершения построения своей темы и сохранения всех внесённых изменений. Нажмите кнопку Сохранить.
  13. В некоторых случаях вы можете захотеть переопределить тему для пользователей, выбравших себе тему (например, когда вы установили новую стандартную тему). Invision Community позволяет вам сделать это легко и просто. Перейдите на страницу Кастомизация > Внешний вид > Темы вашего админцентра, нажмите на стрелку выпадающего меню, расположенную справа от названия темы. Выберите пункт меню "Сделать тему пользовательской": Пункт в меню Сделать тему пользовательской Во всплывающем окне вы сможете выбрать группы пользователей, для которых сбросить тему. Например, если пользователь в группе Пользователи выбрал тему для использования "Стандартная", с помощью пункта меню "Сделать тему пользовательской" и указания группы Пользователи, выбор данного пользователя будет сброшен и его темой, в нашем случае, станет "Universal". Сбросить тему для групп
  14. Тема по умолчанию это тема, которую будут видеть гости и пользователи вашего сообщества, которые не выбрали тему специально. Любая из установленных тем может быть темой по умолчанию. Чтобы установить тему по умолчанию, перейдите на странице Кастомизация > Внешний вид > Темы и нажмите кнопку "Изменить", расположенную справа от темы: Настройка темы На вкладке Общее формы изменения, активируйте настройку "Стандартная тема для пользовательской части?" и сохраните настройки. Стоит также заметить, что вы можете эту же тему сделать стандартной для админцентра, если это необходимо. Изменение стандартной темы не повлияет на пользователей, которые специально для себя уже выбрали тему. Чтобы изменить тему для всех, прочитайте инструкцию: .
  15. Если вы скачали бесплатную или купили где-либо тему для Invision Community 4, вам нужно её установить для дальнейшего использования. Большинство тем состоит из одного .xml файла. Если тема более сложная и имеет другие файлы, следуйте инструкциям разработчика темы. В админцентре перейдите на страницу Кастомизация > Внешний вид > Темы. Нажмите кнопку "Добавить тему", и перейдите на вкладку "Загрузить тему". Укажите .xml файл вашей темы с компьютера. Установка темы в Invision Community 4 Нажмите кнопку Далее и через несколько секунд Invision Community завершит установку вашей темы и перенаправит вас к списку тем. Ваша тема установлена и готова к использованию.
  16. Павел

    Введение в темы

    Тема представляет собой пакет, изменяющий то, как выглядит Invision Community. По умолчанию, IPS4 имеет тему в синих тонах, с темами мы можете полностью изменить отображение, включая цвета, шрифты, изображения и много другое. Вы можете ограничиться лишь вашим воображением! Прежде всего, темы являются отличным способом сохранить ваш брендинг основного сайта и вашего сообщества. Где взять темы? Темы могут быть взяты из нескольких источников, включая: Платные или бесплатные темы в Marketplace на сайте разработчика. Создать собственную тему с помощью Простого редактора тем. Создать собственную с помощью полностью ручного редактора (для продвинутых пользователей). Некоторые дизайнеры имеют собственные сайта, на которых вы можете скачать/приобрести тему. Вы можете нанять дизайнера для создания темы специально для вашего сообщества. Найти дизайнера. Вы можете опубликовать задачу на разработку дизайна в нашем специальном разделе - Freelance. Несколько тем Хотя многие сообщества имеют одну тему, соответствующую их брендингу, вы можете установить несколько тем и позволить вашим пользователяем выбирать тему самостоятельно. Вы можете выбрать вашу основную тему как тему по умолчанию, и пользователи могут выбрать любые другие темы с помощью селектора тем в нижней части страницы. Вы даже можете ограничить доступ к определённым темам для определённых групп, таким образом позволить выбирать "премиум темы" для пользователей, оплативших эту возможность, например.
  17. Возможно, вам понадобится получить больше информации от клиента в запросе поддержки. Например, вы хотели бы знать возраст клиента или дополнительные контактные данные (например скайп). В Магазине предусмотрена возможность создания таких полей в неограниченном количестве. Вы можете настроить дополнительные поля запросов поддержки на странице вашего админцентра Мгазин > Поддержка > Настройки > Дополнительные поля. Здесь вы увидите список текущих созданных полей. Создать новое поле можно с помощью кнопки "Создать". Список дополнительных полей После этого вы будете перемещены к форме создания поле, где должны указать название, описание, отдел, в котором будет использоваться поле и обязательно ли поле для заполнения при отправке тикета клиентом. Эти настройки вы можете увидеть на изображении ниже. Создание нового поля Здесь указан простой пример текстового поля. Существуют различные типы полей, которые можно применить при создании новых полей, вот они: Адрес Чекбокс Набор чекбоксов Код Цвет Дата Редактор Email адрес FTP детали Пользователь Номер Пароль Опрос Радиокнопка Рейтинг Окно выбора Номер телефона Текст Текстовая область Загрузка URL Имя пользователи и Пароль Да/Нет Как вы видите, есть большое количество способов, с помощью которых вы можете получить дополнительную информацию от своих клиентов. Ниже приведены ещё несколько способов применения дополнительных полей. Поле для указания FTP деталей Поле выбора Да/Нет
  18. Во многих случаях при поддержке клиентов, вы обнаружите, что вы постоянно отправляете одни и те же ответы, перемещаете тикет в один и тот же отдел и другое. Приложение Магазин поможет вам избавиться от одних и тех же действий с помощью Стандартных действий. Настройка Стандартных действий Данные настройки расположены в админцентре на странице Магазин > Поддержка > Настройки > Стандартные действия. После того, как вы перешли на эту страницу, вы увидите список стандартных действий, которые уже существуют в системе. Нажмите на кнопку "Создать" для добавления нового действия. Список существующих Стандартных действий После этого вы увидите различные настройки, позволяющие выбрать действия, выполнение которых может быть автоматическим. Создание нового Стандартного действия Применение Стандартного действия При ответе на тикет клиента, вы увидите выпадающее меню сверху справа редактора. Вы можете применить любое Стандартное действие из этого меню. Просто выберите необходимое действие и будут применены все его настройки. Применение Стандартного действия
  19. Павел

    Настройка почты

    В приложении Магазин вы можете использовать входящую электронную почту для получения тикетов. Входящая почта Вы можете настроить входящую почту на странице вашего админцентра Магазин > Поддержка > Настройки > Входящая почта. После перехода на данную страницу вы увидите экран, похожий на изображение ниже, где приведены настройки двух типов почты. Настройки входящей почты Piping Piping будет предпочтительным способом, если у вас есть доступ к вашему серверу. Piping позволяет направлять email адреса на php файл, где будут обрабатываться системой поддержки. Вам необходимо настроить на вашем сервере - направить email сообщения в следующее местоположение http://site.ru.com/applications/core/interface/incomingemail/piping.php email@example.com На странице представлена небольшая инструкция, показывающая настройку на основе панели cPanel. Если у вас другая панели или она вовсе отсутствует, вы должны связаться с вашим хостинг-провайдером за помощью в настройке. Настройка типа Piping POP3 Если у вас нет возможности использовать метод piping, вы можете воспользоваться другим методом - pop3. Для этого выберите метод pop3 и заполните необходимые поля данными, полученными от вашего email провайдера. Настройка типа POP3 Исходящая почта Вы можете настроить исходящую почту по адресу Магазин > Поддержка > Настройки > Исходящая почта. Здесь вы можете настроить формат исходящей почты, который может быть одним из следующих: Нормальное email - это общие email сообщения, которые будут отправлены без брендинга. Фирменное email - письма будут отправлять в специальной фирменной оболочке. Более продвинутые пользователи могут изменить оболочку писем на странице Кастомизация > Внешний вид > Email сообщения. Вы также можете установить от кого будут отправлять письма, от имени сотрудника поддержки, отдела поддержки или чьего-либо другого имени. Вы также заметите, что вы можете активировать настройку "Отправлять подтверждение получения?". Активация этой настройки означает, что ваши пользователи получат обратное email сообщение, при создании тикета, как с помощью клиентской области, так и через email почту. Настройки входящей почты
  20. Павел

    Отделы поддержки

    Первое, в чём вы должны убедиться, это в том, что в Магазине у вас настроены отделы поддержки. Они необходимы для функционирования системы и организации тикетов от ваших клиентов. Вы найдёте настройки для создания и редактирования отделов поддержки в вашем админцентре на странице Магазин > Поддержка > Настройки > Отделы. При открытии данной страницы, вы увидите экран, аналогичный приведённому ниже изображению. Список отделов поддержки Для того, чтобы создать новый отдел, нажмите кнопку "Создать", расположенную справа сверху. Обратите внимание, если у вас есть отдел и вы хотели бы создать похожий, вы можете воспользоваться соответствующей кнопкой "Копировать", расположенной справа от отдела. В первой половине страницы настройки Отдела, вы можете указать название, назначить e-mail адрес, разрешить отправлять запросы поддержки и указать текст, который будет отображаться при отправке тикета в этот отдел. Настройки отдела поддержки Двигаясь ниже, на странице вы увидите различные настройки, связанные с добавляемым отделом, это: Платный отдел - настройка позволяет вам взимать плату с клиента за добавление тикетов в этот отдел. Например, вы можете получать оплату за более высокий приоритет рассмотрения тикета. Ассоциируемые продукты - здесь вы можете установить продукты, которые могут быть связаны с предоставляемым тикетом. Требовать ассоциированную покупку? - это позволит обязать клиента указывать продукт, с которым он связывает тикет. Кто может просматривать - позволяет ограничить доступ сотрудникам поддержки для просмотра этого отдела.
  21. Павел

    Работа с тикетами

    Работа со списком тикетов осуществляется на странице поддержки в вашем админцентре. Вы можете получить доступ к этой странице из меню Магазин > Поддержка > Запросы поддержки. На этой странице находится список тикетов, ожидающих работы над ними. Список запросов поддержки Здесь вы можете всячески фильтровать запросы, с помощью меню сверху, или создать новый тикет, если это необходимо. После клика не тикет, вы увидите нечто похожее на изображение ниже, что мы разберём подробнее. Просмотр тикета (запроса поддержки) Сперва нужно обратить внимание на блок верхних кнопкок, некоторые из которых имеют выпадающее меню. Эти кнопки позволят вам быстро сменить статус тикета, срочность, отдел и так далее. Ниже мы разберём функционал каждой из кнопок. Функциональные кнопки для работы над тикетом Статус - кнопка позволит быстро изменить статус тикета. Срочность - позволит быстро изменить срочность тикета. Отдел - изменение отдела, в котором расположен тикет. Присваивание - кнопка позволяет быстро назначить тикет сотруднику поддержки. Связать с покупкой - кнопка позволяет связать тикет с покупкой. Отслеживание - позволяет активировать/деактивировать отслеживание. Удалить - полностью удаляет тикет из системы. Ниже расположен редактор, который используется для ответа в тикет. Опять же, мы пронумеровали некоторый функционал, чтобы разобрать его подробнее. Форма ответа на тикет Позволяет переключить редактор для добавления скрытой от клиента заметки для персонала поддержки. Панель кнопок позволяет вам переключить статус, отдел, и присвоить его сотруднику поддержки после добавления ответа. Вы можете выбрать Стандартные действия, которые настроили ранее. Справа на странице вы увидите блок с дополнительной полезной информацией о клиенте и тикете. Здесь вы можете увидеть историю запроса клиента, счета и другую не менее полезную информцию, которая может пригодиться вам во время работы над тикетом. В дополнение к этому, вы увидите здесь продукт, с которым связан данный тикет (вы можете изменить связь с продуктом), и любые дополнительные поля, которые вы добавили в системе поддержки. Дополнительная информация в тикете И, наконец, в нижней части страницы, вы можете увидеть все сообщения тикета. Вы также можете увидеть историю работы над тикетом. История тикета
  22. Обратная связь клиента это хороший способ узнать, как ваши пользователи реагируют на ответы сотрудников поддержки в их тикетах, а также производительность ваших сотрудников поддержки в сохранении клиентской удовлетворенности. В IPS4 существует возможность активировать оценку ответов сотрудников поддержки клиентами, непосредственно из их клиентской области. Вы можете активировать/отключить обратную связь в вашем админцентре на страниц Магазин > Поддержка > Настройки > Обратная связь Активация обратной связи клиентов После активации настройки, ваши клиенты смогут оценивать каждый ответ от сотрудника, а также указать своё пояснение/пожелание, при желании. Оценка ответа клиентом Обратную связь клиента можно увидеть в тикете в ответе сотрудника в самом админцентре, а просмотреть могут только те администраторы, которые имеют к этому доступ. Доступ устанавливается в админцентре в области настроек доступа администраторов и модераторов. Просмотр отзыва клиента в админцентре Нажмите на текст "Оценка клиента" и во всплывающем окне вы увидите сообщение с оценкой. Подробная информация об оценке В админцентре вы также можете увидеть как ваши рейтинги суммируются в рамках всего сайта, или посмотреть отчёты по отзывам, посетив страницу Магазин > Поддержка > Производительность. Обратите внимание, что в верхней части страницы вы можете изменить фильтры каждого отчёта. Просмотр отчёта по оценкам ответов Здесь вы также можете просмотреть последние отзывы клиентов. Последние отзывы клиентов
  23. Павел

    Срочности и статусы

    В любой системе поддержки всегда важно отслеживать текущую ситуацию по любому запросу поддержки. Для этой цели в системе поддержки приложения Магазин существуют срочности и статусы, которые вы можете присвоить запросам, могут присвоить ваши клиенты или, даже, могут быть присвоены автоматически в некоторых случаях. Срочность Уровни срочности могут быть добавлены на странице админцентра Магазин > Поддержка > Настройки > Срочность. Срочность предназначена для того, чтобы придать особую важность определённым запросам, или просто выделить запрос как не особой срочности. После перехода на эту страницу, вы увидите примерно следующее: Страница настроек срочности запросов поддержки Здесь вы можете добавлять/изменять/удалять уровни срочности. В верхней части страницы можно заметить переключатель, с помощью которого можно разрешить вашим клиентам просматривать и редактировать срочность собственных тикетов. Для добавления нового уровня срочности, нажмите кнопку "Создать", расположенную справа сверху. Типичная настройка нового уровня срочности будет выглядеть следующим образом. Создание нового уровня срочности В примере мы разрешили пользователям выбирать эту срочность при создании запроса поддержки. По умолчанию запросы сортируются по срочности, затем по дате создания. Это означает, что вы можете переместить уровень срочности на первое место, и запросы с этой срочностью будут отображаться вверху списка всех запросов. Мы также указали цвет, которым будет стилизован запрос с этой срочностью. Список запросов поддержки Статусы Статусы могут быть добавлены на странице вашего админцентра Магазин > Поддержка > Настройки > Статусы. Вы можете создать любой свой статус в дополнение к существующим. Посетив данную страницу вы увидите следующий экран: Страница настрок статусов запросов поддержки Здесь вы можете добавить/изменить/удалить статус. Для добавления нового статуса нажмите кнопку "Создать", расположенную справа сверху. Типичное создание нового статуса будет выглядеть следующим образом. Форма создания нового статуса Есть некоторые настройки, которые необходимо рассмотреть. Во-первых, вы можете назначить статус стандартным при выполнении определённого действия. Таким образом, например, если пользователь или сотрудник поддержки отвечает на запрос поддержки, ему будет присвоен данный статус автоматически. Кроме того, вы можете настроить автоматическое присвоение тикета сотруднику поддержки при смене статуса запроса на этот статус. Например, сотрудник поддержки. Например, сотрудник поддержки может установить запрос в статус "В работе" и запрос автоматически будет присвоен этому сотруднику поддержки. Кроме того, вы можете указать собственный текст, который будет отображаться вашим клиентам с этим статусом, нежели сотрудникам поддержки. Экран поддержки, показывающий отображение статусов и срочностей: Отображение статусов и срочностей запросов
  24. Павел

    Поддержка клиентов

    Любого рода покупки обычно сопровождаются определённым объёмом поддержки. Это может быть что угодно, от продажи подписок, к преимуществам которых пользователь не получил гарантированный доступ, до продажи большого количества продуктов в день, требующих ответов на вопросов клиентов. В любом случае вам потребуется поддержка клиента. Приложение Магазин в IPS4 даёт вам такую возможность использовать систему поддержки, основанную на тикетах. Система поддержки Система поддержки в Магазине даёт вам возможность получать и организовывать тикеты от ваших клиентов. Тикеты могут быть созданы несколькими способами, например с помощью e-mail сообщения или из клиентской области. Список запросов поддержки в Магазине
  25. Это руководство продемонстрирует как шаг за шагом создать простой в использовании плагин. Здесь вам будет показано, как создать плагин, отображающий сообщение в верхней части каждой страницы форума. Шаг 1: Создание плагина Для начала, вам нужно активировать режим разработчика. После того как режим разработчика будет активирован, в админпанели на странице Система --> Возможности --> Плагины появится кнопка "Создать плагин" . Нажмите на нее для того чтобы перейти в Plugin Developer Center. Шаг 2: Создание хуков темы Самый простой способ отображения сообщение в верхней части каждой страницы это создание хука темы. Хуки тем позволяют изменять содержимое шаблона. Мы будем менять шаблон "globalTemplate", который находится в "global" шаблонах, местоположении "front", приложения "core". На вкладке "Hooks", создайте новый хук и выберите " core --> front: global" в качестве группы шаблонов. После создания, нажмите кнопку “Изменить”, а затем выберите "globalTemplate" в меню слева. Выберите "Select Element", чтобы вывести содержимое шаблона и выбрать точку, которую вы хотите зацепить – хорошим местом будет <DIV ID="ipsLayout_mainArea">, а затем выберите пункт "Вставить содержимое внутри выбранного элемента (ов), в самом начале". Теперь нужно указать содержимое вручную: <div class="ipsMessage ipsMessage_information">Это глобальное сообщение</div> После сохранения вы можете перейти на главную страницу, и сразу увидите сообщение, которое вы только что создали. Поздравляем, вы только что создали простой плагин! Далее показано, как расширить этот функционал. Шаг 3: Использование шаблонов Удобно хранить весь HTML в шаблонах. Хотя этот подход работает отлично, HTML контент находится внутри кода вашего плагина, так что если кто-то после его установки захочет изменить в нем что-то (возможно, изменить CSS классы), ему будет трудно сделать это. К счастью, создать HTML шаблон очень легко. Если вы посмотрите в директории на вашем компьютере/сервере, где установлен Invision Community, вы увидите папку "plugins" - внутри вы найдете каталог вашего плагина с именем, которое вы указали на шаге 1. Внутри есть папка dev/html. Внутри этой папки, файлы, создаваемые вами, будут доступны в виде шаблона. Создайте файл с именем globalMessage.phtml добавьте в него следующее: <ips:template parameters="" /> <div class="ipsMessage ipsMessage_information"> Теперь используется шаблон! </div> В первой строке просто указываются любые параметры, которые будут переданы в шаблон (в нашем случае не нужны). После того, как файл был создан, отредактируйте хук темы и изменить его содержимое используя данный код: {template="globalMessage" group="plugins" location="global" app="core"} Это тэг шаблона, который подгружает содержимое шаблона. Все шаблоны, созданные с помощью плагинов создаются в группе "plugins" в "global", в приложении "core". Как только это будет сделано, вы должны увидеть сообщение: "Теперь используется шаблон!". В дополнение скажем, что если вы хотите добавить CSS код, вы можете просто добавить CSS файлы в папку dev/css, и они будут автоматически подключены. CSS файлы плагина компилируются вместе с внутренними CSS файлами IPS4 таким образом, чтобы они были доступны на каждой странице. Шаг 4: Настройки и языковые строки Теперь у вас есть глобальное сообщение - но сейчас нет никакого способа, чтобы настроить то, что оно отображает. Было бы удобно, если бы плагин имел простое меню настройки в админпанели, чтобы администратор мог использовать его для изменения содержимого. Чтобы создать его, перейдите на вкладку "Настройки" в центре разработчика для вашего плагина и добавьте параметры. Для ключа, используйте globalMessage_content, и установите значение по умолчанию какое вам нравится. Очень важно убедиться, что ваш плагин начинает работать сразу после установки, до того как администратор его настроит, поэтому не оставляйте значения по умолчанию пустыми. Создание настроек здесь выделяет пространство для них в базе данных, но вам все еще нужно создать форму, где администратор может редактировать функции плагина. Чтобы сделать это, опять же смотрим в папку вашего плагина в файловой системе; вы увидите файл под названием settings.rename.php. Во-первых, нужно его переименовать в settings.php затем открыть. Он уже содержит пример кода, чтобы вам было понятно. Измените первую строку кода ($form->add(...)) на это: $form->add( new \IPS\Helpers\Form\Editor( 'globalMessage_content', \IPS\Settings::i()->globalMessage_content, FALSE, array( 'app' => 'core', 'key' => 'Admin', 'autoSaveKey' => 'globalMessage_content' ) ) ); Этот код использует помощника форм. Теперь в разделе Плагины в админпанели, вы увидите новую кнопку "Изменить" рядом с плагином. При нажатии на нее всплывает форма с полем, где пользователь может заполнить сообщение. Существует, однако, одна небольшая проблема. Ярлык для установки такой: "globalMessage_content" - очевидно, что его нужно изменить на что-то более понятное, для чего вам понадобиться языковая строка. Языковые строки в IPS4 простые пары key/value, хотя языковые строки могут использовать более сложные функции, такие как строки замены и плюрализацию. Чтобы создать её, откройте в папке вашего плагина файл dev/lang.php. Он содержит только пустой массив. Добавьте элементы в этот массив: $lang = array( 'globalMessage_content' => "Сообщение", ); Теперь ярлык будет называться "Сообщение". И, наконец, вам нужно сделать выбранное пользователем отображение сообщения. Чтобы сделать это, откройте файл globalMessage.phtml, созданный на шаге 3 и измените его содержимое: <ips:template parameters="" /> {{if settings.globalMessage_content}} <div class="ipsMessage ipsMessage_information"> {setting="globalMessage_content"} </div> {{endif}} Это добавляет некоторую логику шаблона, которая определяет, есть ли значение настроек и отображает сообщение только если оно есть, и тег шаблонов, который получает значение нашего параметра. Шаг 5: Внесение изменений в базу данных Идём далее, мы можем добавить кнопку "Закрыть" к сообщению, что позволит пользователям отключить сообщение, как только они прочитали его. Закрыл ли данный пользователь сообщение или нет, информация должна быть сохранена в базе данных. Откройте папку dev/setup в каталоге вашего плагина. Здесь вы найдете файл под названием install.php. Этот файл запускается, если ваш плагин установлен. Если вам необходимо сделать последующие изменения базы данных в будущих версиях вашего плагина, вы можете создавать новые версии в центре разработчика, и файл будет создан для каждой версии, которую вы создаете. Вы должны убедиться, что любые ваши изменения сохранялись в файл install.php и соответствующий файл обновления. Откройте install.php и добавьте этот код в метод шага 1: \IPS\Db::i()->addColumn( 'core_members', array( 'name' => 'globalMessage_dismissed', 'type' => 'BIT', 'length' => 1, 'null' => FALSE, 'default' => 0, 'comment' => 'Если значение 1, пользователь закрыл сообщение' ) ); return TRUE; Этот код добавляет новый столбец в таблицу core_members в базе данных, которая представляет собой таблицу, содержащую информацию о всех пользователях. Поле в столбце имеет тип BIT (что означает, что он может хранить только 1 или 0) - 0 будет указывать что пользователь не отключил сообщение (и оно будет показываться) а 1 укажет, что он закрыл его. Значение по умолчанию устанавливается равным 0. Но нужно убедиться, что этот код создаст столбец при установке плагина. Для этого вам необходимо выполнить запрос на локальной базе данных. Выполните этот SQL запрос, используя любую предпочтительную систему для управления базами данных данных: ALTER TABLE core_members ADD COLUMN globalMessage_dismissed BIT(1) NOT NULL DEFAULT 0 COMMENT 'If 1, the user has dismissed the global message'; Если пользователь закрыл сообщение, то его выбор необходимо будет сбросить, если администратор изменит содержимое сообщения. Для того, чтобы справиться с этим, добавьте эту строку в файл settings.php в каталоге плагина, сразу после вызова $form->saveAsSettings();. \IPS\Db::i()->update( 'core_members', array( 'globalMessage_dismissed' => 0 ) ); Шаг 6: Создание хука кода Теперь, когда вы выделили пространство в базе данных, где будет храниться флаг, вам нужно написать код, который будет устанавливать значение, и свяжет его с шаблоном. Вам нужно добавить метод к контроллеру, который будет обрабатывать щелчок пользователя. Общий контроллер, предназначенный для такого рода событий доступен в \IPS\core\modules\front\system\plugins - хотя теоретически, можно добавить метод к любому контроллеру. В центре разработчика, создаем хук кода на этот класс, открываем его (либо в админпанели, либо открыв файл, который был создан в каталоге хуков в каталоге плагина) и добавляем следующий код внутрь класса: public function dismissGlobalMessage() { \IPS\Session::i()->csrfCheck(); if ( \IPS\Member::loggedIn()->member_id ) { \IPS\Member::loggedIn()->globalMessage_dismissed = TRUE; \IPS\Member::loggedIn()->save(); } else { \IPS\Request::i()->setCookie( 'globalMessage_dismissed', TRUE ); } \IPS\Output::i()->redirect( isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : \IPS\Http\Url::internal( '' ) ); } Важно точно понять что делает эта функция: Сначала она выполняет проверку CSRF. Поскольку это метод контроллера, он выполняется автоматически при доступе к соответствующему URL. Потому, что это влияет на пользователя (она изменяет предпочтение) крайне важно, чтобы она имела CSRF проверку. Если проверка не проходит, то выполнение будет остановлено автоматически. Она проверяет, является ли текущий пользователь зарегистрированным пользователем. \IPS\Member::loggedIn() возвращает объект \IPS\Member для текущего пользователя - если пользователь является гостем (не вошел на сайт) member_id будет равен 0. Если пользователь вошел в систему, она устанавливает свойство globalMessage_dismissed в TRUE и сохраняет элемент. Если пользователь залогинен, то она изменит столбец таблицы, созданный на шаге 5 для соответствующей строки в базе данных. Если пользователь не вошел в систему, она создает куки, таким образом пользователи, которые не вошли в систему, смогут скрыть сообщение. Затем она перенаправляет пользователя обратно на страницу где они были, или, если сервер не может предоставить ссылку, домашнюю страницу. Теперь, когда событие создано, необходимо настроить шаблон, чтобы добавить кнопку сброса. Изменим шаблон, созданный на шаге 3: <ips:template parameters="" /> {{if settings.globalMessage_content and !member.globalMessage_dismissed and !isset( cookie.globalMessage_dismissed )}} <div class="ipsMessage ipsMessage_information"> <a href="{url="app=core&module=system&section=plugins&do=dismissGlobalMessage" csrf="1"}" class="ipsMessage_code ipsType_blendlinks ipsPos_right"><i class="fa fa-times"></i></a></span> {setting="globalMessage_content"} </div> {{endif}} Шаг 7: Добавление Javascript Теперь у нас есть полностью функциональный плагин, который отображает сообщение всем пользователям, и которое они могут закрыть. Теперь можно добавить немного улучшений. Можно сделать так, чтобы сообщение закрывалось с помощью AJAX запроса, вместо перезагрузки страницы. Важно добавлять JavaScript только после того как уже готов весь основной функционал, чтобы пользователи, у которых отключен JavaScript, могли использовать ваш плагин, и поисковые системы могли получить доступ к контенту вашего плагина. Для этого необходимо создать контроллер JavaScript. В директории dev/js в каталоге вашего плагина, создайте файл globalMessageDismiss.js со следующим кодом: ;( function($, _, undefined){ "use strict"; ips.controller.register('plugins.globalMessageDismiss', { initialize: function () { this.on( document, 'click', '[data-action="dismiss"]', this.dismiss ); }, dismiss: function (e) { e.preventDefault(); var url = $( e.currentTarget ).attr('href'); var message = $(this.scope); ips.getAjax()(url).done(function(){ ips.utils.anim.go( 'fadeOut', message ); }).fail(function(){ window.location = url; }); } }); }(jQuery, _)); Этот код выполняет следующее: Все, кроме содержания функций initialize и dismiss, требуется для JavaScript контроллера. Строка ips.controller.register указывает имя контроллера. Когда элемент с присоединенным JavaScript контроллером подгружается, запускается функция initialize. Лучше всего настроить обработчики событий здесь один раз и обрабатывать события в других функциях. Мы создаем здесь событие чтобы она срабатывала, при щелчке на какие-либо элементы, у которых есть селектор [data-action="dismiss"]. Функция dismiss предотвращает первоначальное событие которое было задано по умолчанию (переход по щелчку на заданный URL), а затем определяет необходимые переменные (URL-адрес, куда ведет клик по кнопке, и окно сообщения). Затем он посылает AJAX запрос к указанному URL. Если это удается, окно сообщения исчезает, а если не удается, перенаправляет пользователя туда так, как если бы не было никакого JavaScript. При неудачном переходе к первоначальному URL, пользователь увидит фактическую ошибку. Чтобы это все работало, вам нужно указать, что ваше сообщение должно использовать данный контроллер. В шаблоне, добавьте data-controller="plugins.globalMessageDismiss" к элементу “div”, а data-action="dismiss" к элементу “a”. Для полноты картины, мы должны несколько скорректировать действия AJAX запроса. Хотя это не обязательно, если этого не сделать то, возможно, что если редирект перенаправит пользователя на страницу с ошибкой, AJAX расценит как неудавшийся запрос. Откройте файл action.php созданный на шаге 6 и измените строку редиректа: if ( \IPS\Request::i()->isAjax() ) { \IPS\Output::i()->sendOutput( NULL, 200 ); } else { \IPS\Output::i()->redirect( isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : \IPS\Http\Url::internal( '' ) ); } После это сообщение будет плавно исчезать вместо перезагрузки страницы, при клике на кнопку “закрыть”. Шаг 8: Загрузка вашего плагина Поздравляем, вы только что создали свой первый плагин! Теперь можно установить его на другие сайты. Global_Message.xml
×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности