Шаблоны для simpla cms: Установлю шаблон ДЛЯ simpla CMS stkids, арт. 2962148, цена 2500 р., фото и отзывы

Простая CMS с Thesis — ElixirCasts

Elixir 1.7

Phoenix 1.3

Thesis 0.3.0

Посмотреть исходный код на GitHub


Thesis — это легкая, но мощная CMS, созданная Inixir для Elixir.

Несмотря на то, что Thesis не является полнофункциональной CMS, она делает многое и ее невероятно легко использовать там, где она вам нужна. В этом выпуске мы увидим, как просто добавить Thesis в приложение Phoenix. Теперь давайте кратко рассмотрим приложение, которое мы будем использовать.

Наше приложение в настоящее время имеет только одну страницу контента. И это проблема, потому что мы хотим, чтобы это был блог. Мы будем использовать Thesis, чтобы дать нам возможность легко добавлять дополнительные сообщения в блог.

Сначала пойдем в Хекс и возьмем Тезис. Затем мы откроем наш Mixfile и добавим его в список зависимостей.

микс.exs
 
...
дефп депс делает
  [
  ...
  {:тезис, "~> 0.3.0"},
  ...
  ]
конец
...
  

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

 $ микс deps.get
...
$ смешать тезис.установить
Сгенерированное приложение для диссертации
* создание lib/teacher/thesis_auth.ex
* создание priv/repo/migrations/20180830010133_create_thesis_tables.exs
* создание priv/repo/migrations/20180830010134_add_meta_to_thesis_page_contents.exs
* создание priv/repo/migrations/20180830010135_add_indexes_to_tables.exs
* создание priv/repo/migrations/20180830010136_add_template_and_redirect_url_to_thesis_pages.exs
* создание priv/repo/migrations/20180830010137_change_content_default_for_page_content.exs
* создание priv/repo/migrations/20180830010138_create_thesis_files_table.exs
* создание priv/repo/migrations/20180830010139_create_thesis_backups_table.exs
* создание priv/repo/migrations/20180830010140_change_and_convert_page_data_type_in_backups_table. exs
* обновление config/config.exs
* обновление web.ex
* done Теперь запустите mix ecto.migrate, чтобы убедиться, что ваша база данных обновлена.
$ mix ecto.migrate 

После установки Thesis нам нужно обновить наш макет, чтобы включить thesis_editor . Мы откроем наш app.html.eex и сразу после тега body мы добавим thesis_editor , передав наше соединение.

Путь к шаблону: lib/teacher_web/templates/layout/app.html.eex

 ...
<тело>
<%= thesis_editor(@conn) %>
... 

С этим мы можем запустить наш сервер.

 $ микс phx.сервер
[info] Запуск TeacherWeb.Endpoint с Cowboy с использованием http://0.0.0.0:4000 

И если мы вернемся в браузер, мы увидим, что виджет загрузился в правом нижнем углу экрана. Это предоставляется Thesis для редактирования страницы. Щелкнем по нему — и увидим, что можем редактировать настройки страницы — здесь мы можем редактировать различные свойства страницы, такие как заголовок и описание.

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

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

Мы откроем нашу страницу index.html.eex и давайте обернем наш заголовок функцией content , присвоив ей идентификатор, и укажем «html» в качестве типа контента.

Затем проделаем то же самое для нашей сводки, обернув ее в функцию content с идентификатором и снова указав «html».

Путь к шаблону: lib/teacher_web/templates/page/index.html. eex

 <%= content(@conn, "Заголовок домашней страницы", :html) do %>
  

Рекордный блог

<% конец%> <дел> <%= content(@conn, "Обзор главной страницы", :html) do %>

Добро пожаловать в блог Record, где мы говорим о прекрасной музыке.

<% конец%>

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

И у нас есть простой редактор HTML. Давайте внесем некоторые изменения в нашу страницу, и как только мы получим наш текст там, где мы хотим, мы можем продолжить и «Опубликовать изменения» — наши изменения теперь сохранены.

Теперь, когда мы знаем, как редактировать содержимое страницы, давайте посмотрим, как мы можем добавить страницу. Давайте откроем наш config.exs , и я вставлю нашу конфигурацию, чтобы разрешить динамическое создание страниц с помощью Thesis.

Для использования наших динамических страниц требуется шаблон. Вы можете включить список различных шаблонов на выбор здесь. Давайте включим шаблон с именем «blog.html», который нам нужно создать.

конфиг/config.exs
 
...
конфиг:тезис,:динамические_страницы,
  представление: TeacherWeb.PageView,
  шаблоны: ["blog.html"],
  not_found_view: TeacherWeb.ErrorView,
  not_found_template: "404.html"
...
  

Затем мы продолжим и создадим наш шаблон «блог» в нашем каталоге «страницы». Я продолжу и вставлю структуру шаблона, который мы будем использовать. Это простой шаблон, который мы можем использовать для наших сообщений в блоге. Он имеет разделы для заголовка и тела.

Путь к шаблону: lib/teacher_web/templates/page/blog.html.eex

 
<%= content(@conn, "Заголовок блога", :html) do %>

Здесь идет название блога

<% конец%>
<дел> <%= content(@conn, "Запись в блоге", :html) do %>

Здесь размещается сообщение в блоге

<% конец%>

Теперь, когда у нас есть наш шаблон, нам нужно обновить наш маршрутизатор, чтобы добавить маршрут для наших динамически создаваемых страниц. Мы откроем наш маршрутизатор и включим новый подстановочный маршрут. Это должен быть последний маршрут, иначе он всегда будет совпадать. И он будет обрабатываться нашим PageController с действием, которое мы назовем «динамическим».

lib/teacher_web/router.ex
 
...
получить "/", PageController, :index
получить "/*путь", PageController, :динамический
...
  

Теперь нам нужно открыть PageController и добавьте наше динамическое действие . Затем внутри него мы добавим функцию render_dynamic , предоставленную Thesis, передав наше соединение. Это то, что Thesis использует для рендеринга нашей страницы из базы данных.

lib/teacher_web/controllers/page_controller.ex
 
...
def dynamic(conn, _params) сделать
  render_dynamic (подключение)
конец
...
  

Теперь нам нужно перезапустить наш сервер, так как мы внесли изменения в наш config.exs . И теперь, когда мы возвращаемся в браузер и наводим курсор на виджет Thesis, мы видим значок для добавления новой страницы.

Давайте добавим нашу первую страницу с диссертацией. Мы дадим ему наш путь. Затем идут поля для заголовка страницы и описания. Затем мы можем выбрать шаблон для нашей страницы. Поскольку мы добавили только один шаблон, мы видим только наш шаблон «Блог». Если бы мы указали какие-то другие шаблоны в конфиге, то увидели бы их здесь.

Нажимаем «применить» — и видим, что наша страница создана по указанному нами пути. Вернемся на нашу домашнюю страницу. И обновите страницу, чтобы дать ссылку на наш новый пост. Отлично, теперь мы можем получить доступ к нашему новому сообщению в блоге, созданному с помощью Thesis.

Теперь одна вещь, которую мы действительно могли бы использовать в нашем блоге, это изображение. К счастью, Thesis позволяет загружать изображения. По умолчанию Thesis хранит файлы в базе данных. Одно предостережение заключается в том, что если вы храните много изображений, ваша база данных будет увеличиваться в размерах. В качестве альтернативы Thesis позволит вам легко использовать собственный загрузчик. Ваш загрузчик просто должен иметь возможность обрабатывать структуру %Plug.Upload{} , которую вы затем укажете здесь для загрузчика . Мы остановимся на Thesis.RepoUploader для этого приложения.

Затем вернемся к нашему шаблону блога и добавим еще одну функцию content . Дайте ему имя «Изображение блога», а затем тип контента «изображение», чтобы Thesis знал, что это изображение. Давайте также дадим ему изображение-заполнитель для использования по умолчанию.

Путь к шаблону: lib/teacher_web/templates/page/blog.html.eex

 <%= content(@conn, "Изображение блога", :image, alt: "Изображение блога",
сделать: "https://www.placehold.it/300x150") %>
... 

Затем давайте сохраним нашу страницу и вернемся в браузер, и появится наше новое изображение. Давайте отредактируем нашу страницу и загрузим новое изображение для использования. Затем давайте обновим содержимое заголовка нашего блога, а затем его содержание.

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

Вернемся к нашему коду. И когда мы побежали $ mix thesis.install Thesis создал модуль с именем thesis_auth.ex . Давайте откроем его. Внутри него есть единственная функция с именем page_is_editable? . В настоящее время возвращается true, что позволяет редактировать наш сайт.

Одна из приятных особенностей Thesis заключается в том, что мы можем использовать любую стратегию аутентификации, какую захотим, чтобы определить, кто может редактировать нашу страницу. Все, что нам нужно сделать, чтобы интегрировать его с Thesis, — это вернуть логическое значение для page_is_editable? , чтобы указать, может ли пользователь редактировать страницу или нет.

Чтобы лучше понять, как это будет работать, давайте взглянем на модуль auth. ex в нашем каталоге помощников. И мы видим два signed_in? функций. Они просто проверяют, установлено ли значение «auth» в наших параметрах. Если это так, мы возвращаем «true». В противном случае мы возвращаем «false». Хотя вы бы не стали делать это в реальном приложении, я надеюсь, что это дает лучшее представление о том, насколько легко вы можете включить существующую логику аутентификации в Thesis.

Вернемся к thesis_auth.ex и обновить page_is_editable? для вызова Auth.signed_in? . Теперь, чтобы страницу можно было редактировать, в наших параметрах должно быть установлено значение «auth».

библиотека/учитель/thesis_auth.ex
 
...
def page_is_editable?(conn) сделать
  TeacherWeb.Helpers.Auth.signed_in?(conn)
конец
...
  

Затем, если мы вернемся в браузер, мы не сможем редактировать нашу страницу. Итак, давайте имитируем вход в систему, добавив «auth=true» в нашу строку запроса. И отлично — теперь наша страница доступна для редактирования.

CMS статического сайта | Pulse

Подберите CMS для своего веб-дизайна. Порадуйте своих клиентов и снова наслаждайтесь созданием сайтов. Формы, электронная торговля, безопасные страницы и многое другое в стандартной комплектации.

Начните с бесплатной версии

Нам доверяют более 4000 дизайнеров для достижения отличных результатов

Pulse идеально подходит как для меня, так и для моего бизнеса в области веб-разработки! Люблю рубашку, ребята!

Tim Plumb

Дизайнер от 🇬🇧

Я искал не-DB CMS для написания руководств по обслуживанию в Markdown. Наконец-то у нас есть победитель!

Paul Boag

UX Designer от 🇬🇧

Думаю для клиентов на простых сайтах это идеальная CMS. Легко шаблон. Простой в использовании. WYSIWYG — это здорово.

Steve White

UI and UX Designer from 🇺🇸

Pulse — классная CMS, особенно для дизайнеров, которые боятся программировать. Вы можете разделить весь сайт на блоки и обновить его.

Джей Каушал

Фрилансер из 🇮🇳

  • «Pulse — это надежная CMS, которая предлагает больше отдачи от денег, которые вы за нее платите».

  • «Pulse — это чрезвычайно простая CMS. Платформа с плоскими файлами невероятно легкая во многих отношениях. Серверная часть проста и проста в использовании, а темы несложные».

  • «Так хорошо, что я много раз спасал себя в клиентских проектах.
    5 звезд 🌟🌟🌟🌟🌟»

Все необходимые функции в одном пакете

Простой редактор контента для вас и ваших клиентов

Пользователи могут легко добавлять текст, изображения и многое другое с помощью WYSIWYG-редактора и медиагалереи. Для профессионалов также есть HTML и Markdown.

Попробуйте добавить демо-образ

Дизайн, как всегда

Шаблоны ручного кода в HTML? Скачать шаблоны Bootstrap с ThemeForest? Используете RapidWeaver или Blocs для Mac? Хотите использовать конструктор? Благодаря простому механизму шаблонов Pulse мы обеспечим вам возможность продолжить работу с собственным потоком проектирования.

Попробуйте демо

Набор функций и простота расширения с помощью вставок кода

Управление мультимедиа, блоги, управление пользователями, многоязычные сайты, аналитика, быстрые страницы, функции SEO, безопасные страницы, области загрузки клиентов, автоматическое резервное копирование. . И с удалением кода -ins, нет ничего, что вы не можете сделать.

Посмотрите, что вы можете сделать в демоверсии

Размещение в любом месте на сервере, подходящем для вашего проекта

Неограниченное количество установок и проектов для вас и ваших клиентов, хранящихся на ваших или их серверах. Данные принадлежат вам, и в соответствии с требованиями GDPR ЕС вы можете установить их в нужном для вас месте.

Начать сборку и обновление для загрузки позже

Множество интеграций готовы к работе

Добавление форм MailChimp, страниц Stripe Checkout, видео YouTube, Google Maps, синхронизация с IA Writer и GitHub. не нужно беспокоиться о пользовательских плагинах.

Добавить демо-версию Кнопка «Купить сейчас»

Вы устали от постоянных просьб от вашей команды или клиента исправить сайт?

После того, как пользователи перешли на использование Pulse для своих проектов, они обнаружили:

  • 86 % экономии времени при настройке клиентских сайтов.

    «Pulse — это самая быстрая CMS, которую я когда-либо внедрял… такая скорость просто ЭПИЧЕСКАЯ!»

    Daniel Halseth

    Инженер по ИТ-консалтингу и развитию бизнеса из 🇺🇸 | Подробнее об истории Даниэля

  • 93% сообщают о меньшем количестве обучения после передачи.

    «Pulse — это так здорово, потому что мне не нужно обучать своих клиентов или предлагать поддержку после запуска проекта».

    Johan Strater

    Продуктовый и веб-дизайнер из 🇩🇪 | Подробнее об истории Йохана

  • У 92% меньше проблем с хостингом и скоростью.