Лучший Ответ 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;
}
}
По такой аналогии вы можете добавить и другие поля для импорта и экспорта
Перейти к сообщению


Тема закрыта








