Лучший Ответ Cheren-dow , 27 April 2016 - 01:48
autoskat, здравствуйте. Что бы появилась возможность загрузки и выгрузки даты изменения материала, необходимо сделать следующее:
Открыть файл:
\media\zoo\applications\jbuniversal\framework\helpers\jbcsvmapper.php
В раздел ядро для материала добавим новый класс - для выгрузки даты модификации. В методе getItemCore в массив добавьте:
'modified' => $this->_csvcell->createItem('modified', $item, 'core')->toCSV(),
Теперь этот метод имеет следующий вид:
public function getItemCore(Item $item) { return array( 'author' => $this->_csvcell->createItem('author', $item, 'core')->toCSV(), 'created' => $this->_csvcell->createItem('created', $item, 'core')->toCSV(), 'category' => $this->_csvcell->createItem('category', $item, 'core')->toCSV(), 'tags' => $this->_csvcell->createItem('tags', $item, 'core')->toCSV(), // Наша добавленная строка 'modified' => $this->_csvcell->createItem('modified', $item, 'core')->toCSV(), ); }
Что бы на странице импорта можно было выбрать дату изменения материала, в методе getItemFields в разlеле core добавить следующую строку:
'modified' => JText::_('Modified'),
Теперь необходимо добавить сам класс который будет загружать и выгружать в CSV. Так как мы указали раздел core. то и наш новый класс необходимо помести в папку:
\media\zoo\applications\jbuniversal\framework\elements\core
В зависимости от типа своя папка. Итак, в папке создайте файл modified.php со следующим кодом:
<?php /** * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component * * @package jbzoo * @version 2.x Pro * @author JBZoo App http://jbzoo.com * @copyright Copyright (C) JBZoo.com, All rights reserved. * @license http://jbzoo.com/license-pro.php JBZoo Licence * @coder Denis Smetannikov <denis@jbzoo.com> */ // no direct access defined('_JEXEC') or die('Restricted access'); /** * Class JBCSVItemCoreModified */ class JBCSVItemCoreModified extends JBCSVItem { /** * @return int */ public function toCSV() { return $this->_item->modified; } /** * @param $value * @param null $position * @return Item|void */ public function fromCSV($value, $position = null) { if ($time = $this->_getDate($value)) { $this->_item->modified = $time; } return $this->_item; } }
По такой аналогии вы можете добавить и другие поля для импорта и экспорта
Перейти к сообщению