Новости Joomla

Свои типы полей в Joomla.

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true" />

heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён. Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле

<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>

-

type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:

<?php // namespace для атрибута addfieldprefix namespace Joomla\Module\Wtquicklinks\Site\Fields; // нельзя напрямую обращаться к этому файлу defined('_JEXEC') or die; // подключаем родительский класс для переопределения use Joomla\CMS\Form\Field\NoteField; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; // имя класса и имя файла точь-в-точь class SystempluginstatusField extends NoteField { protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; } }

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает. @webtolkru#joomla #php #webdev #разработка

0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 2055 Просмотров
*

ricardo2

  • Новичок
  • 9
  • 0 / 0
Коллеги, добрый день!

Мне досталась завирусованная 1.6.3 инсталляция - при попытке обновить на любую более старшую версию морда сайта перестает окрываться, пишет:

Fatal error: Cannot access protected property ContentViewArticle::$user in /home/users/p/pvm/domains/n15.dou-spb.ru/templates/moyoosummerpainting/functions.php on line 462

В некоторых случаях еще и админка становится недоступна, приходится откатываться через хостинг.

Подскажите, пожалуйста, можно ли обновить мою систему?

Второй вопрос, есть ли у кого положительный опыт использования Joomla для Windows? Поставил сейчас, попробую перенести базу...

Спасибо большое!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
доводилось однажды, прокатила такая цепочка: => 1.7.0 => 1.7.3 => 1.7.4 => 2.0.0 => 2.5.0 => 2.5.28 => 3.2.0 (на тот момент последняя), до 2.5.28 все было без проблем, на 3.2 потерпел крах, пришлось поднимать с нуля
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Подскажите, пожалуйста, можно ли обновить мою систему?
Можно обновить сразу на 3.6.2 без промежуточных миграций на другие версии. Все зависит от того, что за сайт, что за шаблон и каков бюджет.

Второй вопрос, есть ли у кого положительный опыт использования Joomla для Windows? Поставил сейчас, попробую перенести базу...
Понятия "Joomla для Windows" не существует. Joomla - это сайт. Сайт работает на сервере. Под Windows вам нужно поставить сервер (Apache), обработчик РНР, базу данных MySQL, для удобства phpMyAdmin - панель управления базой... Но для простоты используют готовые сборки. Лично мне нравиться OpenServer - готовый сервер для Windows со всеми нужными модулями, которые, кстати, удобно настраивать в панели управления.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

ricardo2

  • Новичок
  • 9
  • 0 / 0
Коллеги, добрый день!

Спасибо большое за Ваши ответы.

Сайт у меня крошечный и никому не интересный - http://n15.dou-spb.ru/

Подскажите, пожалуйста, где можно взять все эти промежуточные релизы - => 1.7.0 => 1.7.3 => 1.7.4 => 2.0.0 => 2.5.0 => 2.5.28?

На официальной странице с обновлениями http://joomlacode.org/gf/project/joomla/frs/ есть только 2.5.х и 2.5.8 - а все что относится к 1.7.х - отсутствует. Поделитесь, пожалуйста, ссылочкой...

Мой некорректно заданный вопрос относительно Windows был задан с целью выяснить, можно ли инсталляцию с внешнего хостинга (LAMP) перенести к себе во внутрянку, подняв виндовый сервер, а на нем развернуть все необходимые службы, чтобы запустить Joomla. Пока попробовал вот это - https://www.microsoft.com/web/joomla - даже поставилось и запустилось, но как залить туда сайт из бэкапа - не нашел.

Если поставить сборку OpenServer - можно ли туда будет развернуть бэкап сайта на Joomla?

Заранее большое Вам спасибо за Ваши ответы и комментарии!


*

Gosha5767

  • Захожу иногда
  • 487
  • 27 / 0
Цитировать
Если поставить сборку OpenServer - можно ли туда будет развернуть бэкап сайта на Joomla?

На OpenServer можно настраивать сайт на Joomla, мне нравится простота работы со сборкой.
Чистка сайта от дублей в Яндекс и Google.
Миграция Joomla 1.5 до Joomla 3.хх
Доработка сайта
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Подскажите, пожалуйста, где можно взять все эти промежуточные релизы - => 1.7.0 => 1.7.3 => 1.7.4 => 2.0.0 => 2.5.0 => 2.5.28?
Да первая же ссылка в Google ведет на https://www.joomla.org/announcements/release-news/5411-joomla-175-released.html
Там и релиз
Также и с другими версиями
*

ricardo2

  • Новичок
  • 9
  • 0 / 0
Спасибо большое!

Похоже, плохи мои дела - при попытке обновления до 1.7.5 морда перестает грузиться с сообщением -
Fatal error: Cannot access protected property ContentViewArticle::$user in /home/users/p/pvm/domains/n15.dou-spb.ru/templates/moyoosummerpainting/functions.php on line 462

Может быть, я как-то не так обновляю?

Взял вот этот файл - http://joomlacode.org/gf/download/frsrelease/16516/72049/Joomla_1.7.5-Stable-Full_Package.zip - скачал его.

В админке выбираю Расширения-Менеджер расширений-Загрузить файл пакета-Загрузить и установить.

Заранее большое Вам спасибо!
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
В админке включите стандартный шаблон Joomla.
Для проверки сервера, установите последнюю версию Joomla (как бы под другое доменное имя, сам сервер проверить, все ли включено).
Я с мобильного, в основном...
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
ricardo2, посмотреть ваш сайт не получилось, т.к. он не работает, кроме того, он в черном списке.

Поставьте OpenServer Basic. Запустите его. Когда в трее появиться зеленый флажок, откройте браузер и наберите в адресной строке http://localhost

Иногда бывает, что не работает, так как либо винда, либо антивирус блокирует запись в hosts, тогда сайт у вас работать не будет. В этом случае настраивайте антивирус, запускайте сервер от имени администратора.

Установите в настройках сервера конфигурацию. Важно - если хотите запускать старые сайты, установите PHP версии 5.4 или 5.5, не выше.

Далее разворачиваете сайт. Подробнее можно почитать на сайте разработчика. Не забываем в configuration.php поменять настройки базы данных. Собственно все, сайт должен работать.

Для миграции я бы не рекомендовал ставить промежуточные версии. У вас сайт был взломан, там в файлах жуть творится. Без должных знаний перенесете вирусню и на новый сайт. У вас там ценность в чем? В материалах? Делаем две вещи. Первое - идем в базу данных и смотрим таблицу __content, делаем экспорт нужных полей в файл и потом импортируем этот файл в базу нового сайта на Joomla 3.6.2 (не нужно брать старые версии, потом все равно мигрировать). Далее таким же макаром переносим таблицу __categories. Тут небольшое уточнение - переносить нужно не все подряд, а только то, что имеет отношение к материалам. Выборку можно сделать таким запросом (свое название таблицы поставьте):

Код: sql
SELECT * FROM `prefix_categories` WHERE `extension`='com_content';

 В этот запрос так же можно поставить не все подряд поля, а только нужные, так как они не будут совпадать с полями базы, в которую вы их будете импортировать. Ну и последняя таблица - __users (если у вас есть пользователи).

В конце перенесете содержимое папки images, предварительно проверив ее антивирусом и руками, особое внимание файлам PNG и с незнакомыми именами. А вообще лучше для безопасности пакетно пережать их.

Вот, собственно, и весь процесс миграции на самую последнюю версию Joomla.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

ricardo2

  • Новичок
  • 9
  • 0 / 0
Спасибо большое за совет по переносу!

Буду пытаться восстанавливать... Похоже, мне будет тяжело.

Восстановил пока базу, оживил сайт.

Поставил во внутренней сети на виндовый сервак Open-Server Basic, ищу в настройках, как сделать, чтобы он открывал страницы при запросе снаружи, а не только localhost. =))

Всем большое спасибо за советы и участие!

*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Слушайте, а зачем вам восстанавливать и вирусы лечить? Там же сайт с пятнадцатью материалами. Не проще ли сделать на свежей Joomla, взять встроенный шаблон Protostar у которого точно не будет вирусов, сменить фон и логотип и перенести эти несчастные материалы?
*

ricardo2

  • Новичок
  • 9
  • 0 / 0
Друзья, спасибо Вам большое!

Я думаю, что я так и сделаю - просто создам чистую инсталляцию и перенесу материалы.

У Вас очень дружественный и отзывчивый форум/сообщество, такое нынче редко встретишь!

Спасибо Вам большое за все!
*

ricardo2

  • Новичок
  • 9
  • 0 / 0
Коллеги, добрый день!

Подскажите, пожалуйста, а какой бы вы порекомендовали шаблон, с помощью которого было бы максимально просто воссоздать вот такую структуру - http://n15.dou-spb.ru/

Я поставил Joomla 3.6.2, но к сожалению, предыдущий шаблон moyoosummerpainting более не поддерживается разработчиком и не встает на 3-ей Joomla...

Заранее большое спасибо!
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Какая там структура?
Нет там ни структуры, ни дизайна.
Любой шаблон подойдет
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопросы про обновление с 1.5 до 3.х

Автор L29

Ответов: 21
Просмотров: 3885
Последний ответ 22.08.2019, 12:59:33
от SeBun
Ошибка при внесении в настройки изменений компонента jUpgrade(обновление joomla)

Автор Ilya69

Ответов: 0
Просмотров: 5196
Последний ответ 08.05.2018, 20:23:13
от Ilya69
Обновление Joomla\!

Автор SemenSemen

Ответов: 3
Просмотров: 4315
Последний ответ 14.11.2017, 10:42:58
от SemenSemen
Обновление Joomla с 1.5 до 3

Автор kpripper

Ответов: 6
Просмотров: 4495
Последний ответ 27.05.2017, 23:47:50
от prosystema
[Решено] Как обновить Joomla 1.5 (версии, способы обновления и т.д.)

Автор Danka

Ответов: 45
Просмотров: 196408
Последний ответ 06.04.2017, 12:14:12
от SeBun