3

私の目標は、TYPO3 7.6.2 バージョンの拡張機能ビルダーを使用して拡張機能を作成することです。拡張機能ビルダー ドキュメントからカテゴリ製品拡張機能を作成しました。単一の画像をアップロードする以外は完璧に機能します。

しかし、複数の画像を単一の製品に追加し、フロントエンドに画像カルーセルを表示する機能を作成する必要があります。ただし、拡張機能ビルダーはファイルのアップロードでは機能しません。

私は TYPO3 が初めてなので、それに複数の画像を追加する方法がわかりませんか? あまりにも多くのドキュメントを読みましたが、完璧な解決策が見つかりませんでした。

商品に複数の画像を追加する方法を知りたいだけですか?

前もって感謝します!

4

1 に答える 1

11

最後に、この質問に対する解決策を得ました。

拡張機能に移動し、手順に従ってください -

  1. /クラス/ドメイン/モデル/YourModel.php

        /**
         * yourPictures
         *
         * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
         * @lazy
         */
        protected $yourPictures = NULL;
    
        /**
         * Constructor
         *
         * @return AbstractObject
         */
        public function __construct() {
                // ObjectStorage is needed to reference multiple files to one field
                // see also @var before variable and @return before the respective get() method
                $this->yourPictures = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
        }
    
        /**
         * returns yourPictures
         *
         * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage
         */
        public function getYourPictures() {
                return $this->yourPictures;
        }
    
        /**
         * sets yourPictures
         *
         * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $yourPictures
         * @return void
         */
        public function setYourPictures($yourPictures) {
                $this->yourPictures = $yourPictures;
        }
    
  2. /構成/TCA/YourModel.php

    フィールド名を追加し、これarray 'types'array 'columns'追加します-

       'your_pictures' => array(
                'exclude' => 1,
                'label' => 'LLL:EXT:your_ext/Resources/Private/Language/locallang_db.xlf:tx_yourext_domain_model_yourmodel.your_pictures',
                'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
                        'yourPictures',
                        array('minitems'=>0,'maxitems'=>10),
                        $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
                ),
        ),
  1. /ext_tables.sql

追加my_pictures varchar(255) DEFAULT '' NOT NULL,

  1. Fluid テンプレートで表示するには -
<f:for each="{yourDomain.myPictures}" as="pic">
            <f:image src="{pic.originalResource.publicUrl}" alt="{pic.originalResource.alternative}" title="{pic.originalResource.title}" ></f:image>
            {pic.originalResource.description}
    </f:for>

それでおしまい !それが誰かを助けることを願っています。

ありがとう

于 2016-02-18T10:36:17.787 に答える