Форум русской поддержки Joomla!® CMS
07.12.2016, 12:36:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 19   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 8466 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« : 30.09.2015, 04:00:45 »

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

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

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

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

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7535


Разраблю понемногу


« Ответ #1 : 30.09.2015, 10:06:36 »

Быстро и удобно - заказать в коммерческом разделе. Это очень специфичный запрос.
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #2 : 30.09.2015, 16:33:38 »

b2z, спасибо. К сожалению такой возможности нет. Приходится самим разбираться и во всё вникать. Мы не программисты, но, тем не менее, денвер установили, Joomla тоже, сайт разрабатываем: личный кабинет (основу) реализовали, форму обратной связи установили, профиль пользователя с фотографией (через комьюнити билдер) сделали, комментарии (jcomments) подключили.
Правкой кода тоже занимались немного (когда пробовали делать свой шаблон по видеоурокам из инета). Так что мы не безнадёжны и быстро во всё вникаем.
Может быть, подскажете нам как мы самостоятельно можем выполнить эту задачу? В каком направлении смотреть хотя бы.... Какое расширение устанавливать, если нужно, конечно...
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7535


Разраблю понемногу


« Ответ #3 : 30.09.2015, 16:54:57 »

Я так понимаю, что произведения - это материалы, так? А что для Вас тогда папки - категории? Как Вы вообще потом собираетесь отображать эти папки?
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #4 : 30.09.2015, 18:10:15 »

b2z, да, произведения - это материалы.
Папки - ну да, категории. Получается, нужно, чтобы пользователь из фронтенда мог создавать собственные категории.
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #5 : 30.09.2015, 18:12:07 »

И тогда, кажется, на отдельной странице можно будет вывести список категорий пользователя.
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #6 : 30.09.2015, 18:19:59 »

Вот пример того, к чему мы стремимся.


* ПРОИЗВЕДЕНИЯ.JPG (109.11 Кб, 1280x874 - просмотрено 114 раз.)
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7535


Разраблю понемногу


« Ответ #7 : 30.09.2015, 18:28:29 »

Не, категории наверное не подойдут. Сборники могут иметь одинаковые имена, а категории такое не позволяют сделать, так как алиас должен быть всегда разный.
Если для отображения потом не будете использовать стандартный com_content, то нужно что-то кастомное придумывать. Например: свою табличку #__compilations - для названия сборников и #_users_compilations для связи названия сборников с пользователями.
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #8 : 30.09.2015, 18:47:20 »

b2z, идею Вашу услышала. Но понять пока не могу. Подскажите, пожалуйста, алгоритм действий: с чего начинать и куда идти создавать таблички? В какие файлы вносить изменения?
Я так понимаю все изменения будут происходить только в папке шаблона, который мы используем?
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #9 : 30.09.2015, 18:53:40 »

Вы пишите: "Если для отображения потом не будете использовать стандартный com_content..." - этой фразы не поняла. =) У нас обычный сайт на Joomla 3. В нём мы делаем кабинет для зарегистрированных пользователей путём создания меню для зарегистрированных пользователей. Один из пунктов меню - это страничка с произведениями (материалами) пользователя. Пример странички Вы увидели. А будем ли мы использовать "стандартный com_content" - это Вы лучше знаете, наверное. =)
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7535


Разраблю понемногу


« Ответ #10 : 30.09.2015, 18:59:07 »

Алгоритм действий простой - писать свой компонент. Это в любом случае, будете ли использовать категории Joomla или что-то свое. Я же не могу за Вас думать и все Вам описывать и рассказывать. Тут должен знать не я, а Вы Wink Если знаний не хватает, то коммерческий раздел Вам в помощь.
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #11 : 30.09.2015, 19:49:58 »

b2z, поняла. Будем писать компонент не прибегая к помощи коммерческого раздела. Как я уже писала, у нас нет такой возможности.

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

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

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

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

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #12 : 30.09.2015, 19:59:50 »

И ещё такой вопрос: может быть, возможно реализовать задачу с помощью компонентов типа Zoo, К2 или ещё какого-нибудь?
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6457



« Ответ #13 : 30.09.2015, 20: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
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #14 : 30.09.2015, 20:11:38 »

а я бы не писал компонент. Не, через компонент оно может и красивей и правильней, но если как попроще то...

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

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

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

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

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

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

Да, костыль, но зато просто.
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #15 : 30.09.2015, 20:21:28 »

AlekVolsk, мы не можем позволить себе заказать компонент. Сайт создаём самостоятельно. Всё делаем с нуля полностью. Во всё самим приходится вникать. Благодаря Вам и Вашим коллегам какие-то моменты проходим быстрее. На каких-то стопаримся.
На данный момент воткнулись в задачу создания папок зарегистрированными пользователями, в которых эти пользователи могли бы размещать свои материалы.
Вот пример того, к чему мы стремимся.


* .JPG (109.11 Кб, 1280x874 - просмотрено 81 раз.)
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #16 : 30.09.2015, 20:24:50 »

Sergey2, Вы пишите, что "там же КБ используется". А КБ - это что такое?
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #17 : 30.09.2015, 20:29:55 »

 Sergey2, Вы пишите, что нужно, чтобы алиасы были разные.
На сайте будут тысячи пользователей, которые будут создавать свои папки (сборники, альбомы), в которых будут размещать свои произведения. Названия сборников рано или поздно начнут совпадать....
Вариант, который Вы предлагаете, подойдёт?
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6457



« Ответ #18 : 30.09.2015, 20:50:25 »

вариант универсальный: каждая папка именоваться должна как id, под которым она числится в бд, алиас формировать в виде folder-{id}

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

Репутация: +487/-86
Offline Offline

Пол: Мужской
Сообщений: 8716


любит наш народ всякое гавно...


« Ответ #19 : 30.09.2015, 21:07:58 »

На сайте будут тысячи пользователей
И изначально понаставили всяких тяжелых расширений вроде CommunityBuilder?
Тяжело будет.
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #20 : 30.09.2015, 21:21:10 »

Sergey2, Вы пишите, что "там же КБ используется". А КБ - это что такое?
Coomunity Builder
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #21 : 30.09.2015, 21:21:44 »

Sergey2, Вы пишите, что нужно, чтобы алиасы были разные.
На сайте будут тысячи пользователей, которые будут создавать свои папки (сборники, альбомы), в которых будут размещать свои произведения. Названия сборников рано или поздно начнут совпадать....
Вариант, который Вы предлагаете, подойдёт?
Названия сборников да, могут повторяться, там по id  уникальному можно с ними работать
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #22 : 30.09.2015, 21:23:28 »

вариант универсальный: каждая папка именоваться должна как id, под которым она числится в бд, алиас формировать в виде folder-{id}

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

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #23 : 30.09.2015, 22:05:55 »

И изначально понаставили всяких тяжелых расширений вроде CommunityBuilder?
Тяжело будет.
voland, CommunityBuilder поставлен был исключительно для того, чтобы пользователь мог из фронтенда загрузить себе в профиль аватарку. В стандартном модуле, который есть в Joomla, это не предусмотрено. Если Вы знаете простой модуль, который позволит пользователям загружать себе фото в профиль (из фронтенда) - то мы тогда, конечно, заменим комьюнити (уберём это расширение) на модуль.
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #24 : 30.09.2015, 22:51:12 »

Прочитали мы сейчас ещё раз всю переписку под созданной нами темой.
Получается, что есть три пути решения задачи:

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

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

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

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

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #25 : 30.09.2015, 22:55:24 »

третий путь это ... это не путь. Это маленький кусочек описания общего механизма как это все будет работать. Можно и во втором пути и в первом сделать. Даже наверно так правильней будет делать
Записан
mila_serdnaya
Завсегдатай
*****

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #26 : 30.09.2015, 23:21:53 »

Ага. Значит, для решения задачи нужно либо создавать свой компонент, либо идти тем путём, который предложили Вы.

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

Репутация: +101/-9
Offline Offline

Сообщений: 2085


« Ответ #27 : 01.10.2015, 00:00:32 »

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

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #28 : 01.10.2015, 00:04:27 »

Ага. Значит, для решения задачи нужно либо создавать свой компонент, либо идти тем путём, который предложили Вы.

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

Репутация: +3/-0
Offline Offline

Сообщений: 419


« Ответ #29 : 01.10.2015, 00:14:48 »

 Sergey2, а что Вы думаете насчёт предложения  KKAAZZOO?
Мы прошли по ссылке. Обилие информации на английском языке пугает, конечно. О самом компоненте SEBLOD слышали - программисты его хвалят  и советуют....

Только мы уже готовы были определиться с выбором пути решения задачи, как пришёл  KKAAZZOO и сбил нас спонталыку. =)
Записан
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 19   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet