Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Разработка расширений / TYPO3 extension development (http://forum.typo3.ru/forumdisplay.php?f=38)
-   -   Работа с картинками (http://forum.typo3.ru/showthread.php?t=9069)

dmartynenko 06.02.2012 13:32

Да, то что $this->pi_linkTP() всего-лишь оборачивает в ссылку переданную в него строку, и добавляет к url параметры из $params, я уверен. Передаваемая строка в данном случае это HTML код картинки-превьюшки (а может быть что угодно), а в $params указан uid текущей записи и больше ничего. Поэтому ссылка генерится с этим uid на текущую страницу.

То, о чем вы говорите, задается в массиве $imgTSConfig который передается в
Цитата:

$this->cObj->IMAGE()
$this->cObj->cImage()
Эти функции почти аналогичны, одна вызывается из другой. Обратите внимание на параметры которые Peter указал в TS конфиге:
Цитата:

JSwindow = 1
JSwindow.newWindow = 1
JSwindow.expand = 20,20

Peter 08.02.2012 14:56

Организация каталога
 
Стандартный подход:
Категории каталога - страницы сайта с рекурсивным фронтенд плагином на основной.
0. Каталог (ФЕ плагин с бесконечной рекурсией)
1. Раздел 1
1.1. Подраздел 1
1.2. Подраздел 2
2. Раздел 2

Записи (товары) каталога - например контент элементы или своё с pid соответствующему странице каталога.

Если надо чтобы записи могли иметь несколько разделов:

Записи находятся в отдельной папке и имеют отдельное поле с записями вида "2,6,13,4", где через "," идут uid страниц каталога. Первый можно быстро реализовать после нарезки Кикстартером, второй надо допиливать на уровне кода.

3ton 08.02.2012 15:01

Организацию каталогов осуществил так же

в моем случае одна запись в одном каталоге

интересует бакенд часть, а именно организация ввода и листинг записей
использовали встроенный функционал или писали свои обработки???
в моем случае товар имеет специфический параметр - к одному товару относятся куча размеров (более 50) и каждый со своей ценой...
вот и ломаю голову как это культурнее обработать

Peter 08.02.2012 15:37

Две таблицы:

Таблица с товарами tx_catalog_item:
uid,pid,......,size

В поле size выбираем значение из второй таблицы tx_catalog_item_param:
uid,pid,...size,cost

Организовать взаимосвязь можно в Кикстартере.

В pi1 допилить код на вывод, чтобы он при выводе _item делал select из _item_param и вставлял в общую таблицу, можно проще сделать через JOIN.

А чтобы в админке выбирать красиво, это уже flexform надо редактировать, там в принципе можно быстро разобраться.

Dmitry Dulepov 10.02.2012 16:14

Цитата:

Сообщение от Peter (Сообщение 33066)
А чтобы в админке выбирать красиво, это уже flexform надо редактировать, там в принципе можно быстро разобраться.

Админка будет показывать связь с размерами сама.

dmartynenko 10.02.2012 16:42

Цитата:

Сообщение от 3ton (Сообщение 33064)
в моем случае товар имеет специфический параметр - к одному товару относятся куча размеров (более 50) и каждый со своей ценой...

Под такую задачу хорошо подходит концепция IRRE редактирования. Выглядит это примерно так - в записи товара на отдельной страничке будет выводится список подчиненных записей "Размер-Цена" с возможностью измения, добавления без перезагрузки карточки товара. Единственный минус - на 50 подчиненных записей боюсь будет тормозить UI. И этот подход не обладает свойством быстрого и наглядного ввода размеров и цен. Если товаров много, то вводить их через BE замучаетесь. Если импортировать данные в БД со стороны, а потом только менять время от времени цены - может и подойдет. Но зато все "из коробки" - просто описываете в TCA конфигурации таблиц и взаимосвязей.

Возможно для вашего случая подошел бы свой элемент управления вида таблица размеров с inplace edit (на AJAX). Его можно реализовать как своей тип поля в записи товара. Смотрите документацию по TCA, раздел ['columns'][field name]['config'] / TYPE: "user". Но это вещь редко используемая, примеров использования я не встречал, так что придется повозиться. Но это реально сделать. Пример - экст cps_tcatree, реализует дополнительный тип элементы select в виде дерева (как в tt_news). TYPO3 весьма гибкая штука :)


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

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