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

sk8work

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

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

sivers

  • Живу я здесь
  • 2536
  • 348 / 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

  • Живу я здесь
  • 2536
  • 348 / 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();

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

Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 90
Последний ответ 22.11.2024, 07:14:15
от stepan39
Регистрация и авторизация через соц сети

Автор DamaVbubi

Ответов: 3
Просмотров: 975
Последний ответ 14.04.2024, 16:15:05
от Гоша_Компьютерный
Вывод даты материала в списке тегов

Автор androv77

Ответов: 2
Просмотров: 1118
Последний ответ 09.11.2023, 16:33:08
от denxio
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 1840
Последний ответ 06.10.2023, 14:02:24
от Mitriy
Как сделать отображение времени создания материала?

Автор Pzhigalov

Ответов: 0
Просмотров: 452
Последний ответ 27.09.2023, 22:45:29
от Pzhigalov