Фотоальбомы

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

требуется редирект

#1 22 марта 2018 в 21:29
Доброго времени суток! Изучая возможности хорошего компонент Photos, я наткнулся на несколько неприятных моментов:
1. Выводим кнопку "Мои фото" в меню users/{user.id}/content/albums. Далее пользователь нажимая на кнопку "Мои фото" попадает на страницу users/..../content/albums, жмет кнопку "Добавить фотоальбом", попадает на страницу albums/add. Если он создал альбом то возвращается на страницу со своими альбомами, если же он решил нажать "Отмена", то его перекидывает на страницу /albums. Тут юзер уже наблюдает все альбомы, которые остальные пользователи решили сделать видимыми для всех, а хотелось бы попадать обратно в свои альбомы. Так же хотелось бы фотоальбомы "показываемые для всех", были отображены всем пользователям только при посещении страницы хозяина фотоальбома. Есть ли возможность реализовать что то подобное? Пробовал поиграть с масками на страницах контента Фотоальбомы — не помогло, а так же на самих страницами Фотоальбомы. Думаю над вариантом вообще закрыть страницу /albums для просмотра, но куда тогда будет отправлять пользователя? в 404. Так же думал убрать управление приватностью, но в таком случае останется два варианта (в зависимости от изменения кода контроллера) либо все фотоальбомы будут доступны для всех либо только для друзей, в обоих случаях будут не довольны пользователи.
2. Теперь пользователь хочет добавить изображение. Нажимает "Добавить фотографии" и попадает на страницу photos/upload. Вот тут конечно выбора юзеру не оставили😊т.к. кнопки "Отмена" нету — вперед и только вперед😊. Предположим что она есть, он ее нажимает и попадет на страницу /photos, где тоже наблюдает все фото пользователей.
Буду благодарен за помощь где искать, что поменять, что добавить и что удалить :)
#2 27 марта 2018 в 18:22


2. Теперь пользователь хочет добавить изображение. Нажимает "Добавить фотографии" и попадает на страницу photos/upload. Вот тут конечно выбора юзеру не оставили😊т.к. кнопки "Отмена" нету — вперед и только вперед :)

DrDooM
С этим делом разобрался, прикрутил кнопку "Отмена"
Для тех кому это надо, но не знает как:
идем по пути: \templates\default\controllers\photos
Заходим в файл: upload.tpl
после строки:
  1. $this->addBreadcrumb($title);
добавляем:
  1.  
  2. $this->addToolButton(array(
  3. 'class' => 'cancel',
  4. 'title' => LANG_CANCEL,
  5. 'href' => href_to($ctype['name'])
  6. ));
  7.  
Думаю для решения своего первого вопроса, нужно в альбомах, кнопке "Отмена" переназначить путь возврата. Ну пока буду ломать голову как, может кто подскажет, что именно вписать.
#3 28 марта 2018 в 16:43

. Вот тут конечно выбора юзеру не оставили т.к. кнопки "Отмена" нету — вперед и только вперед

DrDooM
файл default/controllers/photos/upload.tpl
после
  1. <?php echo html_submit(LANG_SAVE); ?>
добавь
  1. <?php echo html_button(LANG_CANCEL, 'cancel', "history.back();"); ?>
#4 28 марта 2018 в 17:23

добавь

ideasdigger
А ; после history.back() зачем?
#5 28 марта 2018 в 17:37


добавь

ideasdigger
А ; после history.back() зачем?

DeDja
; не обязателен в данном случае, привычка закрывать)
#6 28 марта 2018 в 17:53

привычка закрывать

ideasdigger
И это правильно.
Ну а вопросы о поддержке работы History (в HTML5) на сегодняшний день считаю излишними.
Успехов.
#7 10 апреля 2018 в 15:16

добавь
Код PHP:
<?php echo html_button(LANG_CANCEL, 'cancel', "history.back();"); ?>

use strict ;)

спасибо за чудесный код :)
возвращаясь к своей проблеме я искал где же это место, которое меня переправляет с добавления альбомов на корневой каталог альбомов. Перерыв все файлы наконец то нашел item_form.tpl
Модифицировав не много предоставленный товарищем use strict, все получилось как и желал.
  1.  
  2. $this->addToolButton(array(
  3. 'class' => 'cancel',
  4. 'title' => LANG_CANCEL,
  5. 'href' => "javascript:history.back()"
  6. ));
  7.  
Если кому то будет интересно, почему именно такой способ вывода кнопки мне удобен, поясню в личку :)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.