Перейти к содержимому


Фотография
- - - - -

Принудительная публикация материала в нужные категории


Лучший Ответ SmetDenis , 03 October 2013 - 09:17

Посмотрел. Разобрался.

У вас в форме подачи материала есть элемент категорий. Значения перебиваются им.
Код, о котором шла речь выше отвечает за категории по умолчанию

Далее сработает строка, которая выставит значения для категории из элемента формы.

// trigger saved event
$this->app->event->dispatcher->notify($this->app->event->create($this->submission, 'submission:saved', array('item' => $this->item, 'new' => !$edit)));                
Т.е получается логический конфликт.

Решение.
media\zoo\elements\itemcategory\itemcategory.php afterSubmissionSave()
public function afterSubmissionSave() {
	if (!empty($this->_categories)) {
		if (in_array('0', $this->app->category->getItemsRelatedCategoryIds($this->_item->id))) {
			$this->_categories[] = 0;
		}
		$this->_categories[] = 10; // список категорий
		$this->_categories[] = 22;
		$this->app->category->saveCategoryItemRelations($this->_item, $this->_categories);
	}
}
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 .polega.

.polega.

Отправлено 30 September 2013 - 09:48

смотрел на новой подаче
поставил свои ID категорий
категории в том же каталоге, что и подача материала
 и всё равно не работает :(
вот изменённый участок кода /components/com_zoo/controllers/submission.php
// save to default category
// принудительное сохранение в нужные мне категории
if (!$edit && ($category = $this->submission->getForm($this->type->id)->get('category'))) {
    $allcategories = array($category,'10','22'); // список обязательных категорий
    $this->app->category->saveCategoryItemRelations($this->item, $allcategories);
}

  • 0

#2 SmetDenis

SmetDenis

Отправлено 02 October 2013 - 06:35

Если вы дадите доступ к вашему сайту (ftp, joomla) то я смогу сказать что не так.
иначе затрудняюсь...
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 .polega.

.polega.

Отправлено 02 October 2013 - 07:57

Если вы дадите доступ к вашему сайту (ftp, joomla) то я смогу сказать что не так.
иначе затрудняюсь...

отправлю в ЛС


  • 0

#4 SmetDenis

SmetDenis

Отправлено 03 October 2013 - 09:17   Лучший Ответ

Посмотрел. Разобрался.

У вас в форме подачи материала есть элемент категорий. Значения перебиваются им.
Код, о котором шла речь выше отвечает за категории по умолчанию

Далее сработает строка, которая выставит значения для категории из элемента формы.
// trigger saved event
$this->app->event->dispatcher->notify($this->app->event->create($this->submission, 'submission:saved', array('item' => $this->item, 'new' => !$edit)));                
Т.е получается логический конфликт.

Решение.
media\zoo\elements\itemcategory\itemcategory.php afterSubmissionSave()
public function afterSubmissionSave() {
	if (!empty($this->_categories)) {
		if (in_array('0', $this->app->category->getItemsRelatedCategoryIds($this->_item->id))) {
			$this->_categories[] = 0;
		}
		$this->_categories[] = 10; // список категорий
		$this->_categories[] = 22;
		$this->app->category->saveCategoryItemRelations($this->_item, $this->_categories);
	}
}

  • 2
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 .polega.

.polega.

Отправлено 03 October 2013 - 10:36

Спасибо, так действительно всё работает как и задумывалось!


  • 0




Click to return to top of page in style!