Клонирование функциональности компонента parsys - PullRequest
0 голосов
/ 21 марта 2012

Я хочу взять компонент libs / foundation / components / parsys / colctrl /... и изменить его текст, чтобы я мог использовать его вместо вкладок CSS. Я воссоздал его как apps / -site- / components / content / tabsys / (и все его подпапки / компоненты / etc. Единственное, что я не изменил, было в tabsys / tabctrl / virtual / 2tabs / cq: editConfig / cq: formParameters (также для 3tabs /):

sling:resourceType = foundation/components/parsys/colctrl
layout = 2;cq-colctrl-lt0

В сообщнике у меня теперь есть опция компонента Tabs с теми же опциями, что и в столбцах. Однако, когда я перетаскиваю любую из вкладок в область содержимого, я не получаю ни одной области содержимого границы для перетаскивания частей содержимого; только панель Изменить / Удалить / Новая. Когда я нажимаю «Изменить», у меня должно быть выпадающее меню для количества столбцов, которое я хочу иметь (компонент «Столбцы» имеет его для справки). Чего мне не хватает?

1 Ответ

1 голос
/ 13 мая 2013

Я столкнулся с этой же проблемой, и причина этого в том, что класс ParagraphSystem, используемый компонентом parsys, анализирует / генерирует только столбцы / контейнеры, если sling:resourceType узла содержимого заканчивается в "/colctrl".

  private String colCtrlSuffix = "/colctrl";
  if (res.getResourceType().endsWith(this.colCtrlSuffix)) { /*creates columns*/ }

В вашем примере tabctrl должен иметь ссылку на тип Super:

  sling:resourceSuperType = "foundation/components/parsys/colctrl"

Во-вторых, если tabctrl были переименованы в colctrl, то ParagraphSystem будет пытаться проанализировать столбцы на основе числа, указанного в первой части атрибута макета, и создать дополнительные узлы содержимого для каждого столбца.

Если бы класс ParagraphSystem искал «-colctrl», а не «/ colctrl», он бы разрешил настраиваемые компоненты, такие как «my-colctrl». Вместо этого, я думаю, нам нужно использовать папки, чтобы избежать коллизий имен. (то есть apps / -site- / components / content / tabsys / colctrl)

...