Можно ли добавлять дополнительные поля?

  • 18 Ответов
  • 429 Просмотров

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

Можно ли добавлять дополнительные поля к материалам в Joomla без плагинов? Если нельзя, то что лучше для этого использовать? Мне необходимо заносить данные в новые поля к материалу из фронтенда и получать их в админке.

И можно в Joomla отобразать в админке определенные материалы определенным админам?

*

beliyadm

  • ********
  • 8359
  • 1527
  • Севастополь == Россия
Можно ли добавлять дополнительные поля к материалам в Joomla без плагинов?
Конечно можно. Единственно но - при обновлении версии движка они с вероятностью 99% потрутся.
А так да, всегда сам делаю (обновляюсь руками нужные файлы). Добавили поле в БД таблицы #__content, добавили в XML модели в админке и вывод редактирования в вьюшке. Потом в компоненте фронта в модели добавили поле в запрос и в шаблоне где угодно с ним оперируем. В Google есть весьма подробные инструкции
Но можно и через плагин, тогда при обновлении движка наши изменения не улетят в тартарары
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

а есть плагины хорошие на примете?

*

SmokerMan

  • ********
  • 5329
  • 689

*

buyanov

  • ***
  • 178
  • 26
  • Сайты 74
Привет, скоро вроде будут кастомные поля =) в версии 3.7 вроде уже на гите есть исходники, а когда релиз будет хз =)
А так лучше бы плагинчик, если подробнее опишешь сколько полей и куда надо воткнуть могу побыстрому набросать такой =)
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

beliyadm

  • ********
  • 8359
  • 1527
  • Севастополь == Россия
Привет, скоро вроде будут кастомные поля =) в версии 3.7
Кастомные обещают уже который год, но при этом в стандартном API не  могут доделать множественные чекбоксы еще с 1.5, вечно самому приходится обработчик писать.
Так что на разработчиков надеяться смысла нет
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

Да, ждать поля не дело.

А вот другой вопрос, можно в Joomla отобразить в админке определенные материалы определенным админам? Может какие-то права добавить или ещё что.

*

bolonia

  • ****
  • 203
  • 25
Добавлять свои поля можно в поле params - оно представляет из себя json. Есть плагины основанные на этом поле, например Fields Attach. По идее ничего перетираться не должно, но я лично не проверял.
Бесплатный модуль обратного звонка / обратной связи для J3: http://joomlaforum.ru/index.php?topic=309065.0

*

beliyadm

  • ********
  • 8359
  • 1527
  • Севастополь == Россия
Добавлять свои поля можно в поле params - оно представляет из себя json.
чем плох json в плане дополнительных полей - с ними нельзя непосредственно в запросе sql манипулировать. Вот это на мой взгляд самый большой минус и потому этим подходом никогда не пользуюсь.

А вот другой вопрос, можно в Joomla отобразить в админке определенные материалы определенным админам? Может какие-то права добавить или ещё что.
Так в менеджере материалов можно фильтровать список по авторам\уровню доступа. Сделать админам специальную группу и по ней сортировать.
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

чем плох json в плане дополнительных полей - с ними нельзя непосредственно в запросе sql манипулировать...
Спасибо! я так и сделал)

*

buyanov

  • ***
  • 178
  • 26
  • Сайты 74
чем плох json в плане дополнительных полей - с ними нельзя непосредственно в запросе sql манипулировать. Вот это на мой взгляд самый большой минус и потому этим подходом никогда не пользуюсь.
Так в менеджере материалов можно фильтровать список по авторам\уровню доступа. Сделать админам специальную группу и по ней сортировать.
Юзаем MySQL 5.7 или PostgreSQL и будет всем счастье =) Там уже есть JSON поля
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

voland

  • ********
  • 9365
  • 420
  • СКАЙП утерян! Пишите в телеграм @volandku
Юзаем MySQL 5.7 или PostgreSQL и будет всем счастье =) Там уже есть JSON поля
А можно с этого момента поподробнее?

*

buyanov

  • ***
  • 178
  • 26
  • Сайты 74
А можно с этого момента поподробнее?
Это про новые возможности MySQL
https://dev.mysql.com/doc/refman/5.7/en/json.html

Postgre давно уже поддерживает
https://www.postgresql.org/docs/9.6/static/functions-json.html

Ну эту страничку все видели =)
https://www.joomla.org/about-joomla/technical-requirements.html

Как-то пришлось поморочиться с этими делами в поисках достойной альтернативы EAV паттерну для хранения злосчастных кастомных атрибутов
https://en.wikipedia.org/wiki/Entity–attribute–value_model
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

Arkadiy

  • *****
  • 5342
  • 440
  • Крепитесь, други.
Это про новые возможности MySQL
И чем это поможет при манипуляции данными, сохраненными в параметрах?

*

buyanov

  • ***
  • 178
  • 26
  • Сайты 74
И чем это поможет при манипуляции данными, сохраненными в параметрах?
Можно манипулировать json'ом
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

Arkadiy

  • *****
  • 5342
  • 440
  • Крепитесь, други.
По вашим ссылкам это не совсем очевидно, нашел вот что https://laravel-news.ru/blog/tutorials/laravel-mysql-json-colum-fast-looku

*

beliyadm

  • ********
  • 8359
  • 1527
  • Севастополь == Россия
Хм да, пропустил, в 5.7 можно делать так
вставить поле json
Код: sql
INSERT INTO `book` (`title`, `tags`)
VALUES (
  'ECMAScript 2015: A SitePoint Anthology',
  '["JavaScript", "ES2015", "JSON"]'
);
искать по нему
Код: sql
SELECT * FROM `book` 
WHERE JSON_CONTAINS(tags, '["JavaScript"]');

Но все-равно не очень удобно. Если хранить в json кучу параметров - то искать все равно крайне неудобно. Да и каждый раз добавлять индексацию полю...
Мне по старинке ближе, конечно, третья нормализация БД (по Бойсу-Кодду тоже не всегда удобно хранить в небольших базах).
Так что останусь на старом велосипеде - каждому параметру к объекту - отдельное поле с ключом связью.
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

Arkadiy

  • *****
  • 5342
  • 440
  • Крепитесь, други.
А по той ссылке, что я дал, есть и способ с мета-полем, к которому можно обращаться как обычно.

*

Septdir

  • *******
  • 2143
  • 106
  • JoomlaZen
Читал недавно про json в 5.7 даже где видео не плохое было. Но все равно не шибко удобно. Так что все же для фильтрации удобнее хранить данные в отдельной колонке.
P.S можно еще через regexp если данных не много.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen