Создание папок из фронтенда

  • 548 Ответов
  • 10131 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Всем здравствуйте!
У зарегистрированного пользователя есть свой личный кабинет, который реализован с помощью меню, которое видно только зарегистрированным пользователям.
Один из пунктов меню называется "произведения автора". Когда мы нажимаем на этот пункт, то попадаем на страницу со всеми опубликованными на сайте произведениями автора.
Задача: нужно делать так, чтобы автор мог создать на этой странице папки, в которые мог бы перемещать опубликованные произведения.

Пример: Автор опубликовал на сайте 10 произведений. После чего он, зайдя в пункт меню "Произведения автора", создаёт папку с названием "Первый сборник произведений" и помещает в неё 3 своих опубликованных произведения. Потом он создаёт папку "Второй сборник" и помещает в неё оставшиеся 7 произведений.

ВАЖНО: нужно, чтобы все эти действия выполнялись из фронтенда.

Знаю, что есть различные компоненты для Joomla, позволяющие создавать папки и каталоги: ZOO, К2 и прочее. Подскажите, пожалуйста, как можно реализовать эту задачу наиболее просто и быстро?

*

b2z

  • *****
  • 7449
  • [+]740 / [-]0
  • Разраблю понемногу

Re: Создание папок из фронтенда
« Ответ #2 : 30.09.2015, 17:33:38 »
b2z, спасибо. К сожалению такой возможности нет. Приходится самим разбираться и во всё вникать. Мы не программисты, но, тем не менее, денвер установили, Joomla тоже, сайт разрабатываем: личный кабинет (основу) реализовали, форму обратной связи установили, профиль пользователя с фотографией (через комьюнити билдер) сделали, комментарии (jcomments) подключили.
Правкой кода тоже занимались немного (когда пробовали делать свой шаблон по видеоурокам из инета). Так что мы не безнадёжны и быстро во всё вникаем.
Может быть, подскажете нам как мы самостоятельно можем выполнить эту задачу? В каком направлении смотреть хотя бы.... Какое расширение устанавливать, если нужно, конечно...

*

b2z

  • *****
  • 7449
  • [+]740 / [-]0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #3 : 30.09.2015, 17:54:57 »
Я так понимаю, что произведения - это материалы, так? А что для Вас тогда папки - категории? Как Вы вообще потом собираетесь отображать эти папки?

Re: Создание папок из фронтенда
« Ответ #4 : 30.09.2015, 19:10:15 »
b2z, да, произведения - это материалы.
Папки - ну да, категории. Получается, нужно, чтобы пользователь из фронтенда мог создавать собственные категории.

Re: Создание папок из фронтенда
« Ответ #5 : 30.09.2015, 19:12:07 »
И тогда, кажется, на отдельной странице можно будет вывести список категорий пользователя.

Re: Создание папок из фронтенда
« Ответ #6 : 30.09.2015, 19:19:59 »
Вот пример того, к чему мы стремимся.

*

b2z

  • *****
  • 7449
  • [+]740 / [-]0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #7 : 30.09.2015, 19:28:29 »
Не, категории наверное не подойдут. Сборники могут иметь одинаковые имена, а категории такое не позволяют сделать, так как алиас должен быть всегда разный.
Если для отображения потом не будете использовать стандартный com_content, то нужно что-то кастомное придумывать. Например: свою табличку #__compilations - для названия сборников и #_users_compilations для связи названия сборников с пользователями.

Re: Создание папок из фронтенда
« Ответ #8 : 30.09.2015, 19:47:20 »
b2z, идею Вашу услышала. Но понять пока не могу. Подскажите, пожалуйста, алгоритм действий: с чего начинать и куда идти создавать таблички? В какие файлы вносить изменения?
Я так понимаю все изменения будут происходить только в папке шаблона, который мы используем?

Re: Создание папок из фронтенда
« Ответ #9 : 30.09.2015, 19:53:40 »
Вы пишите: "Если для отображения потом не будете использовать стандартный com_content..." - этой фразы не поняла. =) У нас обычный сайт на Joomla 3. В нём мы делаем кабинет для зарегистрированных пользователей путём создания меню для зарегистрированных пользователей. Один из пунктов меню - это страничка с произведениями (материалами) пользователя. Пример странички Вы увидели. А будем ли мы использовать "стандартный com_content" - это Вы лучше знаете, наверное. =)

*

b2z

  • *****
  • 7449
  • [+]740 / [-]0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #10 : 30.09.2015, 19:59:07 »
Алгоритм действий простой - писать свой компонент. Это в любом случае, будете ли использовать категории Joomla или что-то свое. Я же не могу за Вас думать и все Вам описывать и рассказывать. Тут должен знать не я, а Вы ;) Если знаний не хватает, то коммерческий раздел Вам в помощь.

Re: Создание папок из фронтенда
« Ответ #11 : 30.09.2015, 20:49:58 »
b2z, поняла. Будем писать компонент не прибегая к помощи коммерческого раздела. Как я уже писала, у нас нет такой возможности.

Я сейчас поискала в интернете информацию на тему того, как самостоятельно создать свой компонент для сайта.
Наткнулась на создание простейшего компонета, который выводит  две разные надписи на сайте и в административной панели.

Я создала папку Admin, папку Site. В них создала файлы для административной части и файлы, касающиеся сайта, соответственно. В каждой папке создала пустой файл index.html.
В корне создала установочный XML файл.
Заархивировала всё и установила через Менеджер Расширений.

Компонет работает: надписи выводятся.

Основу - как создаются компоненты - я усвоила. Подскажите, пожалуйста, что мне делать дальше? Как создавать таблички, о которых Вы говорили? Или стоит что-то другое сделать?

Re: Создание папок из фронтенда
« Ответ #12 : 30.09.2015, 20:59:50 »
И ещё такой вопрос: может быть, возможно реализовать задачу с помощью компонентов типа Zoo, К2 или ещё какого-нибудь?

*

AlekVolsk

Re: Создание папок из фронтенда
« Ответ #13 : 30.09.2015, 21:02:44 »
1) готовый каркас компонента (голый скелет, но уже с собранными косточками) можете сделать здесь: http://inet-reklama.com/sozdanie-komponenta.html

2) преподробнейшая документация, сам по ней учился: http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika/sozdanie-komponenta-dlya-joomla-2-5

С помощью zoo можно, но ручками писать придется много, да и для каталога версия платная, написать свой получится и быстрее и производительнее (зу уж больно громоздкий).

А вообще ваше решение недорого стоит, не дороже 5-7к, могли бы и заказать.

*

Sergey2

Re: Создание папок из фронтенда
« Ответ #14 : 30.09.2015, 21:11:38 »
а я бы не писал компонент. Не, через компонент оно может и красивей и правильней, но если как попроще то...

Нужно решить три задачи:
1. Создание папок.
2. Определение материала в папку.
3. Вывод материалов по папкам.

Первое решается очень просто:
в "любом" месте, например в личном кабинете (там же КБ используется)  вставляется простая форма (<FORM>...</FORM>), где одно поле и одна кнопка. В поле вписываем название папки, жмем на кнопку, выполняеться SQL запрос и в нашу, заранее созданную табличку добавляется запись с названием папки.

Второй вариант решаеться чуть сложнее. Делаем модуль (можно либо создать свой с нуля или взять какой-нить модуль который php обрабатывает), и там выводим список материалов из БД данного пользователя и напротив названия материала выпадающее меню (<select>) с выбором папки. И так же кнопка "применить".

Для вывода списка материалов по папкам немного курочим стандартны шаблон вывода.

Но это да, нужно что бы алиасы были разные.

В идеале еще бы сделать что бы можно было папки удалять и редактировать, но принцип такой же.

Да, костыль, но зато просто.

Re: Создание папок из фронтенда
« Ответ #15 : 30.09.2015, 21:21:28 »
AlekVolsk, мы не можем позволить себе заказать компонент. Сайт создаём самостоятельно. Всё делаем с нуля полностью. Во всё самим приходится вникать. Благодаря Вам и Вашим коллегам какие-то моменты проходим быстрее. На каких-то стопаримся.
На данный момент воткнулись в задачу создания папок зарегистрированными пользователями, в которых эти пользователи могли бы размещать свои материалы.
Вот пример того, к чему мы стремимся.

Re: Создание папок из фронтенда
« Ответ #16 : 30.09.2015, 21:24:50 »
Sergey2, Вы пишите, что "там же КБ используется". А КБ - это что такое?

Re: Создание папок из фронтенда
« Ответ #17 : 30.09.2015, 21:29:55 »
 Sergey2, Вы пишите, что нужно, чтобы алиасы были разные.
На сайте будут тысячи пользователей, которые будут создавать свои папки (сборники, альбомы), в которых будут размещать свои произведения. Названия сборников рано или поздно начнут совпадать....
Вариант, который Вы предлагаете, подойдёт?

*

AlekVolsk

Re: Создание папок из фронтенда
« Ответ #18 : 30.09.2015, 21:50:25 »
вариант универсальный: каждая папка именоваться должна как id, под которым она числится в бд, алиас формировать в виде folder-{id}

для начала необходимо продумать структуру, достаточно тщательно, под нее для компонента еще роутер писать потом придется для SEF

*

voland

  • ********
  • 9335
  • [+]520 / [-]101
  • СКАЙП утерян! Пишите в телеграм @volandku
Re: Создание папок из фронтенда
« Ответ #19 : 30.09.2015, 22:07:58 »
На сайте будут тысячи пользователей
И изначально понаставили всяких тяжелых расширений вроде CommunityBuilder?
Тяжело будет.

*

Sergey2

Re: Создание папок из фронтенда
« Ответ #20 : 30.09.2015, 22:21:10 »
Sergey2, Вы пишите, что "там же КБ используется". А КБ - это что такое?
Coomunity Builder

*

Sergey2

Re: Создание папок из фронтенда
« Ответ #21 : 30.09.2015, 22:21:44 »
Sergey2, Вы пишите, что нужно, чтобы алиасы были разные.
На сайте будут тысячи пользователей, которые будут создавать свои папки (сборники, альбомы), в которых будут размещать свои произведения. Названия сборников рано или поздно начнут совпадать....
Вариант, который Вы предлагаете, подойдёт?
Названия сборников да, могут повторяться, там по id  уникальному можно с ними работать

*

Sergey2

Re: Создание папок из фронтенда
« Ответ #22 : 30.09.2015, 22:23:28 »
вариант универсальный: каждая папка именоваться должна как id, под которым она числится в бд, алиас формировать в виде folder-{id}

для начала необходимо продумать структуру, достаточно тщательно, под нее для компонента еще роутер писать потом придется для SEF
да, все так и есть. А для того что бы структуру продумать нужно четко представлять что, как, где должно выводиться, какие действия можно будет совершать с этим и так далее. То есть полностью представлять необходимый функционал и даже возможные будущие апгрейды

Re: Создание папок из фронтенда
« Ответ #23 : 30.09.2015, 23:05:55 »
И изначально понаставили всяких тяжелых расширений вроде CommunityBuilder?
Тяжело будет.
voland, CommunityBuilder поставлен был исключительно для того, чтобы пользователь мог из фронтенда загрузить себе в профиль аватарку. В стандартном модуле, который есть в Joomla, это не предусмотрено. Если Вы знаете простой модуль, который позволит пользователям загружать себе фото в профиль (из фронтенда) - то мы тогда, конечно, заменим комьюнити (уберём это расширение) на модуль.

Re: Создание папок из фронтенда
« Ответ #24 : 30.09.2015, 23:51:12 »
Прочитали мы сейчас ещё раз всю переписку под созданной нами темой.
Получается, что есть три пути решения задачи:

Первый путь: создать свой собственный компонент (вариант предложен автором b2z, подтверждён автором AlekVolsk).

Второй путь: выполнить три задачи: 1.Создание папок с помощью (<FORM>...</FORM>). 2. Определение материала в папку с помощью модуля. 3. Вывод материалов по папкам с помощью изменения шаблона вывода материалов (вариант предложен автором Sergey2).

Третий путь: универсальный - здесь мы ничего не поняли, поэтому просто цитируем: "каждая папка именоваться должна как id, под которым она числится в бд, алиас формировать в виде folder-{id}!" (вариант предложен автором автором AlekVolsk)

Подскажите, пожалуйста, мы всё правильно поняли? Или третий путь (то, что предложил  AlekVolsk) - относится ко второму пути?

*

Sergey2

Re: Создание папок из фронтенда
« Ответ #25 : 30.09.2015, 23:55:24 »
третий путь это ... это не путь. Это маленький кусочек описания общего механизма как это все будет работать. Можно и во втором пути и в первом сделать. Даже наверно так правильней будет делать

Re: Создание папок из фронтенда
« Ответ #26 : 01.10.2015, 00:21:53 »
Ага. Значит, для решения задачи нужно либо создавать свой компонент, либо идти тем путём, который предложили Вы.

Мы не программисты. Подскажите, пожалуйста, мы правильно поняли, что для нас наиболее простой путь из этих двух - это тот, который предлагаете Вы?

*

KKAAZZOO

Re: Создание папок из фронтенда
« Ответ #27 : 01.10.2015, 01:00:32 »
Вот вам компонент для создания произведений (материалов), категорий (папок), профилей пользователей, комментариевhttp://www.seblod.com/resources/manuals
Но придется учиться. Мануалов по приведенной ссылке процентов на 95 хватит для самостоятельной работы по вашей задаче . Остальное типа системы комментирования, если надо, подскажут на русскоязычном форуме, хотя можете и JСomments использовать, так жизнь проще. Но если будут тысячи пользователей, то понадобится мощный хостинг, а значит дорогой.

*

Sergey2

Re: Создание папок из фронтенда
« Ответ #28 : 01.10.2015, 01:04:27 »
Ага. Значит, для решения задачи нужно либо создавать свой компонент, либо идти тем путём, который предложили Вы.

Мы не программисты. Подскажите, пожалуйста, мы правильно поняли, что для нас наиболее простой путь из этих двух - это тот, который предлагаете Вы?
на мой взгляд да. Так проще. Гибче, опять же. Потом можно будет и компонент написать и "подцепить" то что было раньше написано и все будет продолжать работать

Re: Создание папок из фронтенда
« Ответ #29 : 01.10.2015, 01:14:48 »
 Sergey2, а что Вы думаете насчёт предложения  KKAAZZOO?
Мы прошли по ссылке. Обилие информации на английском языке пугает, конечно. О самом компоненте SEBLOD слышали - программисты его хвалят  и советуют....

Только мы уже готовы были определиться с выбором пути решения задачи, как пришёл  KKAAZZOO и сбил нас спонталыку. =)