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

sk8work

  • Новичок
  • 3
  • 0 / 0
Всем привет.
Неожиданно столкнулся со следующей проблемой.
Пишу CRUD для работы с вакансиями на сайте, чтобы облегчить работу отдела кадров (жалуются, что шибко сложная админка).
Понимаю, что занимаюсь ерундой, но такая задача поставлена.
Все работает превосходно, Кастомные поля редактируются, рубрики тоже. Все отлично кроме добавления новой вакансии (материала),
т.к. ума не приложу, как составить запрос к БД, чтобы прикрепить к новому материалу метку 'jobs'...  *ОХ-Х-Х*
Если есть идеи, буду очень признателен. !

(возможно не в ту ветку пишу)
*

sivers

  • Живу я здесь
  • 2127
  • 287 / 0
Если знакомы с системой плагинов, то можно использовать событие onContentBeforeSave или onContentPrepareForm:
https://docs.joomla.org/Plugin/Events
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sk8work

  • Новичок
  • 3
  • 0 / 0
Посидел, поизучал материалы, так ни к чему и не пришел.
Тело в том, что при добавлении вакансии, я делаю запрос к БД:

$query = "INSERT into #__content (asset_id, title, alias, images, urls, attribs, metadata, introtext, state, catid, created, created_by, created_by_alias, modified, modified_by, checked_out, checked_out_time, publish_up, publish_down, version, ordering, metakey, metadesc, access, hits, language, xreference, note)
        VALUES ('$asset_id', '$title', '$alias', '$images', '$urls', '$attribs', '$metadata', '', '$state', '$catid', '$publish_up', '522', '', '0000-00-00 00:00:00', '0', '0', '0000-00-00 00:00:00', '$publish_up', '0000-00-00 00:00:00', '1', '5', ' ', ' ', '1', '1', '*', '', '')";
       $db->setQuery($query)->execute();

Результат: Появляется материал в БД

Если мне надо заполнить кастомные поля для этого материала, я использую следующий код:



$query = "SELECT * FROM #__content WHERE alias='$alias' && catid='$catid'";
$db->setQuery($query);
$fields = $db->loadObjectList();
$thisID = $fields[0]->id;
   
   
// Зарплата - 3
if(isset($_POST["tax"])){
        $tax = $_POST["tax"];
   $query = "INSERT into #__fields_values (field_id, item_id, value) VALUES ('3', '$thisID','$tax')";
   $db->setQuery($query)->execute();
}


Ну и так далее.
Все прекрасно заполняется.

Необходимо только проставить материалу метку.
Из БД получил вывод таблицы #__tags. Там я необходимую метку нашел. А вот как составить запрос, чтобы материал был к этой метке отнесен, я не могу понять, т.к. нет таблицы с привязкой по меткам (как в кастомных полях, где есть привязка по ID материала).
*

sivers

  • Живу я здесь
  • 2127
  • 287 / 0
а как же #__contentitem_tag_map?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sk8work

  • Новичок
  • 3
  • 0 / 0
а как же #__contentitem_tag_map?

Точно!
Вот такое решение:

$type_alias       = 'com_content.article';
$core_content_id    = '179';  // Тут от балды - взял от другого поста
$content_item_id    = $thisID; // ID материала
$tag_id         = '66';      // ID необходимого тэга(метки), к которой надо привязать материал (у меня - это 'jobs')
$tag_date         = $publish_up;
$type_id          = '1';

$query = "INSERT into #__contentitem_tag_map (type_alias, core_content_id, content_item_id, tag_id, tag_date, type_id)
           VALUES ('$type_alias', '$core_content_id', '$content_item_id', '$tag_id', '$tag_date', '$type_id')";

$db->setQuery($query)->execute();

Все работает))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вставить картинку материала в модуле Последние материалы?

Автор androv77

Ответов: 9
Просмотров: 111
Последний ответ 28.11.2022, 11:26:49
от androv77
Свои позиции через grid

Автор androv77

Ответов: 0
Просмотров: 85
Последний ответ 21.11.2022, 16:45:05
от androv77
Тип поля формы Select sql, как заполнить его через функцию php?

Автор GuDeVic

Ответов: 13
Просмотров: 758
Последний ответ 07.10.2022, 12:25:45
от fsv
Не работают кнопки меню при создании материала на фронт енде

Автор olegast

Ответов: 3
Просмотров: 162
Последний ответ 04.10.2022, 12:57:55
от olegast
При сохранении материала Duplicate entry '0' for key 'primary'

Автор mirstiker

Ответов: 7
Просмотров: 4161
Последний ответ 04.09.2022, 06:19:45
от Diomax