Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Дополнительные поля в sys_category (http://forum.typo3.ru/showthread.php?t=11872)

dust 30.09.2015 21:07

Дополнительные поля в sys_category
 
Добрый день, не подскажете как мне добавить дополнительные поля в регистер категорий. Я хотел-бы помимо стандартных полей категорий ( титель, описание, фото) иметь ещё пару дополнительных.

Ивано++ 01.10.2015 12:45

Можно в ядре добавить (не желательный, но самый простой вариант).
1. https://github.com/TYPO3/TYPO3.CMS/b...s_category.php ( добавляете колонки в структуру таблицы )
2. https://github.com/TYPO3/TYPO3.CMS/b...ext_tables.sql ( скорее всего структуру MySQL таблицу расширяете в ручную )

Либо расширение создавать.

dust 01.10.2015 20:33

Разобрался, спасибо. Лучше конечно создать своё расширение, чтоб при update поля не слетели. Внизу мой пример, может кому понадобиться:

typo3conf\ext\preis_sys_category\Configuration\TCA \Category.php

PHP код:

<?php
if (!defined ('TYPO3_MODE')) {
    die (
'Access denied.');
}

/**
 * Add extra fields to the sys_category record
 */
$newSysCategoryColumns = array(

    
'preis' => array(
        
'exclude' => 1,
        
'label' => 'Preis',
        
'config' => array(
            
'type' => 'input',
            
'size' => 10,
        )
    ),
);

\
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_category'$newSysCategoryColumns);
\
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('sys_category''--div--;Preis, preis''''before:description');

typo3conf\ext\preis_sys_category\Classes\Domain\Mo del\Category.php


PHP код:

<?php
namespace FUCHS\PreisSysCategory\Domain\Model;

/**
 * Category
 */
class Category extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

    
/**
     * preis
     *
     * @var string
     */
    
protected $preis '';

    
/**
     * Returns the preis
     *
     * @return string $preis
     */
    
public function getPreis() {
        return 
$this->preis;
    }

    
/**
     * Sets the preis
     *
     * @param string $preis
     * @return void
     */
    
public function setPreis($preis) {
        
$this->preis $preis;
    }

}

typo3conf\ext\preis_sys_category\ext_tables.sql
PHP код:

#
# Extend table structure of table 'sys_category'
#
CREATE TABLE sys_category (
    
preis varchar(100) DEFAULT '' NOT NULL,
); 



Часовой пояс GMT +4, время: 10:45.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot