Skyer
Total posts: 57
23 Нояб 2015 22:03

Добрый день. Столкнулся со следующей задачей, есть два разных типа статей, но в каждом из них необходимо использовать общее поле Multiple Select. Какой есть самый простой способ реализовать эту возможность? Если это только - SQL как источник данных, то есть ли более подробная инструкция и возможно на русском? Заранее благодарю за скорый ответ!

Последние изменения: 24 Июль 2024


Sergey
Total posts: 13,748
24 Нояб 2015 14:22

Ну да можно SQL как источник сделать. Или просто одни и теже зеначения вписать в насройки поля. По SQL почитайте документацию и потом спросите что будет не понятно. Так писать не зная что будет не понятно, это все равно что скопировать оригинальную статью.


Skyer
Total posts: 57
24 Нояб 2015 15:25

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

Мне кажется эту статью о SQL источниках раньше я находил на русском, где был очень понятный пример, я даже попробовал как это работает и все получалось. А сейчас нахожу только эту статью и ничего не могу в ней понять, так как с sql плохо знаком, приходится интуитивно догадываться. Такие рассуждения, поправьте меня если я ошибаюсь, возьмем к примеру следующую стороку из той статьи:

SELECT id, title AS text FROM #__js_res_record WHERE section_id = 3 AND type_id = 6

Я так понимаю, тут нам нужно указать вместо #__js_res_record таблицу из которой получаем данные, type_id это id поля, а section_id это id типа статьи, так получается?

А как узнать правильное название необходимой таблицы?


Skyer
Total posts: 57
25 Нояб 2015 22:41

Частично разобрался, но не хватает грамматики...

Подскажите как правильно составить запрос из таблицы FROM #__js_res_fields где id поля - WHERE id = 12 чтобы получить значения столбца params в котором они вписаны в массиве после параметра "values":

Будет возможность от сюда добавлять новые зачения?


Sergey
Total posts: 13,748
26 Нояб 2015 07:08

Skyer Внести одни и теже данные можно, но в моём случае это не подходит, потому что новые записи должны добавляться в поле во время создания материала или выбираться из списка

Источник SQL не поддерживает добавление новых записей из формы добавления статьи. Это все равно придется делать в ручну в нужную таблицу.

Вообще этот метод внедрен больше дли интеграций в другими решениями чем для формы хранения данных.

Skyer Частично разобрался, но не хватает грамматики...

Подскажите как правильно составить запрос из таблицы FROM #__js_res_fields где id поля - WHERE id = 12 чтобы получить значения столбца params в котором они вписаны в массиве после параметра "values":

Будет возможность от сюда добавлять новые зачения?

Я думаю чтовам нужно это сздать свою собственную таблицу скажем prefix_my_values с колонками id и name где id должно быть цифрой автоинкремент. Забейте туда данных. И используйет такой запрос.

SELECT id, name AS title AS text FROM #__my_values

Skyer
Total posts: 57
26 Нояб 2015 07:34

Ок, я понял. Получается я создаю новую таблицу, затем в необходимые поля в любые типы статей SQL запросом вытягиваю данные из неё.

А как добавлять в эту таблицу данные не используя PhpMyAdmin, можно через frontend сайта?


Skyer
Total posts: 57
26 Нояб 2015 09:02

А можно как-то в настройках поля или напрямую в настройках шаблона указать в какую таблицу вносить и от кода получать данные?

Неужели невозможно реализовать более простой способ для работы с общим полем?


Sergey
Total posts: 13,748
26 Нояб 2015 13:45

Skyer А как добавлять в эту таблицу данные не используя PhpMyAdmin, можно через frontend сайта?

Нет. Только в ручную через что то вроде PMA.

Skyer Неужели невозможно реализовать более простой способ для работы с общим полем?

В чем общьность и зачем? Каким образом 2 типа связаны?


Skyer
Total posts: 57
26 Нояб 2015 16:38

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

Вобщем дело обстоит таким образом: Планируется сайт где будут публиковаться музыкальные альбомы и видео клипы, для этого я создал два типа статей с разными полями, в первом варианте есть поле - изображение обложки альбома, во втором варианте есть ссылка на - видео youtube, также в каждом из типов статей присутствует общее поле под названием "жанр". Идеальный вариант, чтобы редакторы могли один раз внести названия жанров и в дальнейшем пополнять этот список. Но я не хочу чтобы эта информация дублировалась в двух полях, в двух разных типах статей, так как она абсолютно одинаковая, необходимо чтобы при добавлении клипа было видно жанры которые добавлялись при публикации альбома и наоборот. А если необходимо реализовать более сложный сюжет и этот список получить для дополнительных операций в справочнике или библиотеке...

Как вариант, можно отдельно сделать общую библиотеку жанров и от туда пополнять список, а в нужные типы материалов, где будет присутствовать это поле, получать список запросом SQL. В таком случае все равно нужно придумать способ чтобы редакторы смогли сами вносить туда данные через сайт, а не через PMA, все должно быть просто для обычного модератора который только добавляет материалы на сайт.

В Cobalte ведь должно быть предусмотрено создание подобных каталогов и библиотек, когда в одном месте библиотека наполняется данными и в дальнейшем эти данные используются свободно при необходимости...

Такая вот задача, может быть я что-то не так понимаю и не вижу более простого решения, подскажите пожалуйста как лучше это реализовать?


Sergey
Total posts: 13,748
29 Нояб 2015 07:42

Зачем жанр и на альбоме и на клипе? Разве они могут быть разными? В любом случает жанры клипа это только те что установлены жанрами альбома и ни какие другие. Но у пести без альбома конечно могут быть разные жанры.

С другой стороны список жанров по версии ID3 ограничен всего 79 (список)

По этому просто создайте одинаковый селект и там и там и в обоих 79 значений. Это поле не должно меняться со времинем.


Skyer
Total posts: 57
05 Дек 2015 11:03

Ок, в этом вопросе я согласен с вами. Но все же я не получил решение для реализации необходимого функционала.

Возможно, я не ищу легких путей.=) Но мне нужно для себя понимать возможности, чтобы в дальнейшем планировать другие проекты.

Давайте отойдем от примера с жанрами.

Подскажите:

  1. Возможно ли создать некую статическую форму, форму которая не создает материал, а просто вносит данные в базу, в определенную таблицу?

  2. Если да, то это возможно в Cobalt или только в Joomla?

  3. Возможно ли сделать её доступной с фронтэнда сайта, например только админу?

  4. Так как таблицы Cobalt существуют отдельно от таблиц Joomla, где должна находиться таблица, чтобы в дальнейшем из неё получать значения в поля Cobalt?

Спасибо за помощь! =)


Sergey
Total posts: 13,748
07 Дек 2015 10:55

Skyer Возможно ли создать некую статическую форму, форму которая не создает материал, а просто вносит данные в базу, в определенную таблицу?

Не средствами кобальта. Может какойнубедь фабрик или форм генератор.

Ну и все остальные ответы зависят от того что вы используете.


moontextile99
Total posts: 6
24 Июль 2024 10:15

Добрый день. Столкнулся со следующей задачей, есть два разных типа статей, но в каждом из них необходимо использовать общее поле Multiple Select. Какой есть самый простой способ реализовать эту возможность? Если это только - SQL как источник данных, то есть ли более подробная инструкция и возможно на русском? Заранее благодарю за скорый ответ!

Cricut military medal icon USA , Cricut silver medal icon USA , Cricut food icons free USA

Работает на Cobalt