К содержанию

добавить функционал BannerX

Добрый день, Василий!
Я озадачился баннерокрутилкой для revo, нашел компонет BannerX.
ВСе хорошо, но очень надо добавить еще два поля — текстовое поле (для баннера-текста, без картинки) и поле для сортировки (что то вроде еще одного параметра position).
Ну и соответственно изменить внешний вид управления компонента и добавить функционал в сниппет.
Написание компонентов и PDO я только осваиваю, поэтому прошу помощи.
1. можно ли внести эти изменения в компонент BannerX?
2. насколько сложно будет внести эти изменения?
3. может посоветуете что то, для успешной реализации моей задумки?

Заранее Спасибо!
Роман Харин
Роман Харин
03 сентября 2012, 13:22
modx.pro
2 838
Реклама

Комментарии: 26

Василий Наумкин
Василий Наумкин Администратор
03 сентября 2012, 20:00
1. Баннер-без-картинки — это что? Это же не баннер вообще. Если есть ­­необходимость — пишите кодовое слово, и при выводе чанка фильтруйте его ­­сниппетом, типа [[+file:filter]], и если вместо картинки это слово — ­­выводите описание, а не картинку.
Если что — инфа про такую фильтрацию ­­в чанках — ­­http://goo.gl/EsYAH

2. Поля для сортировки и так есть — параметр ­­&sortby. Называете баннеры в позиции типа «1. первый баннер», ­­«2. второй баннер» и сортируете по имени ­­(&sortby=`name`).

Возможно, в будущем добавлю сортировку ­­перетаскиванием, как в галерее miniShop, но пока некогда.

Таким ­­образом, ничего менять не надо — можете уже сейчас реализовывать свою ­­задумку.
    Роман Харин
    Роман Харин Старожил
    04 сентября 2012, 16:28
    Можно конечно код перебрать, но лучше же спросить. Как сделать, что бы при добавлении нового баннера добавление картинки было необязательным полем?
      Василий Наумкин
      Василий Наумкин Администратор
      04 сентября 2012, 17:02
      Сделайте true вот тут — goo.gl/KnfrA
        Роман Харин
        Роман Харин Старожил
        04 сентября 2012, 17:20
        да, оказывается сегодня ночью я это уже сделал, только для другого поля)))
    Роман Харин
    Роман Харин Старожил
    04 сентября 2012, 16:41
    А еще Очень хочется в статистику добавить число показов.
      Василий Наумкин
      Василий Наумкин Администратор
      04 сентября 2012, 17:03
      Можно, только у меня времени нет.
        Роман Харин
        Роман Харин Старожил
        04 сентября 2012, 17:05
        я сам попробовал сделать, нужно только направить в правильную сторону =)
          Василий Наумкин
          Василий Наумкин Администратор
          04 сентября 2012, 17:08
          Надо в таблицу добавить поле с показами, и тут в сниппете делать +1 — goo.gl/kd9v0
          Роман Харин
          Роман Харин Старожил
          04 сентября 2012, 17:11
          буду пробовать
            Роман Харин
            Роман Харин Старожил
            12 сентября 2012, 13:10
            Добавил +1 в сниппет, в таблицу ads добавил поле. В таблицу значения записываются, но никак не могу вывести эти значения в админку, ну хотя бы на страницу Баннеры (типо главная страница компонента).
            Добавил в карту и в схему, в ads.grid.js добавил. Появилось поле в админке на главной, но там пусто.
            Может подскажешь где копать?!
          Роман Харин
          Роман Харин Старожил
          04 сентября 2012, 17:08
          Насчет сортировки. Дело в том что на странице есть три места, где будут выводится баннеры — они все разного размера, но &position у них одинаковые. Грубо говоря необходимо сделать &position2. Я уже подумываю что бы просто продублировать реализацию &position, что бы сделать &position2.
            Василий Наумкин
            Василий Наумкин Администратор
            04 сентября 2012, 17:22
            Не нужно плодить сущности.
            Антон Слободчук
            06 сентября 2012, 00:28
            Действительно имеет смысл добавить сортировку и описание баннера. Тогда можно делать и такие карусели: twitter.github.com/bootstrap/javascript.html#carousel
            Поддерживаю топикстартера :)
              Роман Харин
              Роман Харин Старожил
              06 сентября 2012, 13:15
              Совсем нет времени, поэтому решил добавить сортировку иначе.
              В таблице ads добавил еще одно поле — place, сделал так, что при нажатии на кнопку добавить баннер появляется radiogroup с выбором одного из трех значения, ​потом в сниппет добавлю параметр place и по нему буду сортировать вывод ​баннеров. НО! Значения из формы добавления нового баннера почему то не ​передаются в базу. Я никак не вразумлю где и что я не добавил или сделал не ​так.
              В моделях в схему и в карту добавил.
              В ads.js ​добавил
              {header: _('Place'),dataIndex: ​'place',sortable: true}
              
              после 77 и 112 строчки
              и в районе ​294-296 строчек
              {
              name: ​'Place',
              fieldLabel: 'Place',
              allowBlank: ​ true,
              columns: 3,
              items: [
              ​ {
              name: 'Place',
              ​ boxLabel: 'Top',
              ​ inputValue: '1'
              },
              ​ {
              name: ​'Place',
              boxLabel: ​'Right',
              inputValue: ​'2'
              },
              {
              ​ name: 'Place',
              ​ boxLabel: 'bottom',
              ​inputValue: '3'
              }
              ​],
              xtype: 'radiogroup'
              }
              
                Василий Наумкин
                Василий Наумкин Администратор
                06 сентября 2012, 14:00
                И у меня совсем нет времени.
                  Роман Харин
                  Роман Харин Старожил
                  12 сентября 2012, 13:47
                  И все же. Ситуация теперь следующая. При создании новых баннеров все работает.
                  А вот при изменении уже существующих проблема остается — значения из формы не ​​передаются в базу.
                    Роман Харин
                    Роман Харин Старожил
                    12 сентября 2012, 13:50
                    ДУмаю надо копаться в процессорах ads -> update. Я копался и безуспешно.
                  Роман Харин
                  Роман Харин Старожил
                  12 сентября 2012, 18:17
                  Н-да уж. Видимо никто не заморачивался еще баннерокрутилкой!
                    Василий Наумкин
                    Василий Наумкин Администратор
                    12 сентября 2012, 18:20
                    Ага, никто не заморачивался. BannerX сам по себе, на дереве вырос.

                    Есть хорошая новость — скоро буду вносить в него изменения, появится поле description и еще может что-то.
                      Роман Харин
                      Роман Харин Старожил
                      12 сентября 2012, 18:22
                      =)
                        Роман Харин
                        Роман Харин Старожил
                        12 сентября 2012, 18:29
                        а как скоро?
                          Василий Наумкин
                          Василий Наумкин Администратор
                          13 сентября 2012, 18:41
                          Уже делаю.

                          Сделал поле description и сортировку баннеров в позиции, перетаскиванием.
                          Благодарность будете присылать?
                            Роман Харин
                            Роман Харин Старожил
                            14 сентября 2012, 21:21
                            Круто. Я смотрю появилась версия 0,3. БЛагодарю!
                            С меня 100 гр. и пирожок.
                            А я вот тоже сделал все что задумал =)
                              Василий Наумкин
                              Василий Наумкин Администратор
                              14 сентября 2012, 21:23
                              Там даже сразу новый компонент, в итоге, появился.

                              modx.com/extras/package/bannery
                                Роман Харин
                                Роман Харин Старожил
                                14 сентября 2012, 21:28
                                Я уже смотрю, сутки не было меня, а тут такие глобальные перемены. Будет оценивать. Вот доделаю проект пришлю тебе «пирожок» =).
                                Меня к стати сегодня логинза не пускала то ли днем, то ли утром утром. Пойду на ветку Баннер Y
                      Роман
                      Роман Старожил
                      14 ноября 2015, 16:29
                      Василий, BannerY считает только клики? Показы баннеров не считает, как я понимаю?
                        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                        26