Новости Joomla

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

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Создание папок из фронтенда
« Ответ #360 : 02.11.2015, 21:51:37 »
По поводу тегов: это стандартные теги, азбука, учите мат.часть

То, что кнопки не работают - а вы писали для них соответствующий функционал? Разработка полноценного компонента - это, сори, не плюшки трескать, вам такими темпами еще не одну неделю, а то и мес учиться и работать. Не передумали еще самостоятельно все делать? Полностью вам каждую строчку кода все равно не будут объяснять и облизывать каждый пример, многое (большинство) придется учится понимать самостоятельно.
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Создание папок из фронтенда
« Ответ #361 : 02.11.2015, 21:53:02 »
Полностью вам каждую строчку кода все равно не будут объяснять и облизывать каждый пример
Сильно за темой не слежу, но пока что это именно так, разве нет?
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Создание папок из фронтенда
« Ответ #362 : 02.11.2015, 21:57:19 »
А все, с моей стороны лавочка закрыта, базовая структура есть, а вывод и обработка имеющегося - уж как-нибудь, сори. Без обид, но выкладываться на халяву на все сто не вижу ни технического смысла (не спать ночь ради плагина за 10мин - уже перебор) и бизнес-профита. Извиняйте, некогда, дети кушать хотят, пойду зарабатывать.
*

JLang

  • Захожу иногда
  • 103
  • 19 / 0
Re: Создание папок из фронтенда
« Ответ #363 : 02.11.2015, 22:07:59 »
А самое печальное, что компонент будет заброшен, если кто-то из гуру форума его в итоге не закончит    :dry:
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Создание папок из фронтенда
« Ответ #364 : 02.11.2015, 22:11:03 »
Ну, ТС изначально решила вести разработку исключительно самостоятельно. При этом были заверения, что это ей оч. нужно, значит однажды все-таки закончит, да и найдется кто-либо обязательно подсказать, что и как, не-нет - да и я по мелочевке подскажу, может быть... Ну да не будем далее холиварить.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #365 : 03.11.2015, 22:13:56 »
Всем здравствуйте! Отмучались мы, наконец-таки с подключением языкового файла. Вчера весь вечер этим занимались,- никак не получалось. Мозги в итоге не выдержали.
Мы, от греха подальше, плюнули на это дело и первый раз за всё это время позволили себе расслабиться и не заниматься кодом. Посмотрели кусочек фильма и завалились спать.
Сегодня, с новыми силами, выспавшиеся и настроенные на кропотливую работу, вновь засели за компьютер.
В итоге нам удалось правильно подключить языковые файлы плагина, который автоматически устанавливает пользователю системный сборник при его регистрации. Мы всё не один раз протестировали - всё работает как часы.
----------------------
Что мы сделали для того, чтобы всё заработало?
1. В файле chmosplugbez.xml нашего плагина подключили языки:
<languages>
<language tag="ru-RU">ru-RU.plg_user_chmosplugbez.ini</language>
<language tag="ru-RU">ru-RU.plg_user_chmosplugbez.sys.ini</language>
</languages>

Вот как выглядит файл chmosplugbez.xml полностью:
Спойлер
[свернуть]

2. Затем в корне плагина (не в папке language, а отдельно) создали 2 файла: ru-RU.plg_user_chmosplugbez.ini и ru-RU.plg_user_chmosplugbez.sys.ini
Вот содержание файла ru-RU.plg_user_chmosplugbez.ini:
Спойлер
[свернуть]
Вот содержание файла ru-RU.plg_user_chmosplugbez.sys.ini:
Спойлер
[свернуть]

3. Затем в файле chmosplugbez.php после строк defined( '_JEXEC' ) or die; написали
$language = JFactory::getLanguage();
$language->load('plg_user_chmosplugbez', JPATH_BASE, 'ru-RU', true);


И в этом же файле исправили строку, которая добавляет название системного сборника. Вот так она стала выглядеть: $db->quote(JText::_('PLG_USER_CHMOSPLUGBEZ_SYS_TITLE')),

Вот файл chmosplugbez.php полностью:
Спойлер
[свернуть]

Всё работает исправно!
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Создание папок из фронтенда
« Ответ #366 : 03.11.2015, 23:15:44 »
Сделали все правильно, молодцы. Спасибо за благодарности )
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #367 : 04.11.2015, 02:41:06 »
Пользуясь случаем, хотим сказать, что мы не программисты. Ни разу. То есть ну совсем не программисты. До этого мы знать не знали и слышать не слышали ровным счётом НИЧЕГО о Joomla, о каких-то там кодах, о языках программирования, о плагинах, компонентах и прочей ...хм... информации.
То, что мы делаем - мы делаем впервые. Каждый наш шаг - впервые. Всё, что мы слышим от вас - мы слышим впервые. Во время переписки с вами у нас постоянно открыто около 10-15 вкладок на тему нашей переписки. По ходу общения мы постоянно залезаем в интернет и гуглим непонятные термины, непонятные буквы, непонятные команды. А, поскольку это всё мы видим впервые, можете себе представить, сколько времени и усилий мы тратим на то, чтобы въезжать в тему и более-менее адекватно вести в вами диалог.

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

Чтобы далеко не ходить за примером: автор AlekVolsk написал, что
"в плагине на регистрацию пользователя вам необходимо подключить языковые файлы вашего компонента, перед запросом добавляете:
Код
$language = JFactory::getLanguage();
$language->load('com_chmos', JPATH_BASE, null, true);

Вам наверняка всё понятно, верно? А нам несколько часов потребовалось на то, чтобы найти, перед каким же запросом нужно вставить эти строки.
Это мы не жалуемся, а просто поясняем, что мы со своей стороны тоже выкладываемся.
--------------
У нас такая жизнь, что элементарно нет денег на обычные нужды, - не будем сюда залазить. Именно поэтому мы и приняли решение создавать сайт, и компонент в частности, самостоятельно. Именно поэтому ваша помощь для нас очень важна. Мы ценим каждый ваш совет. И благодарны за каждую вашу подсказку.
--------------
Вы можете помогать нам. Это ваше право, ваше решение и ваш выбор. Мы его уважаем.
Вы можете не помогать нам. Это тоже ваше право, ваше решение и ваш выбор. Мы тоже его уважаем.
--------------
...А сейчас мы разбираемся с тем, как же нам теперь во фронтенде сайта вывести наш список сборников с материалами; ищем, куда и как именно в файле default.php (папка views компонента) подключается список материалов.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #368 : 04.11.2015, 08:40:21 »
mila_serdnaya print_r Вам в помощь ;) Кстати, привидите под спойлер код файла /views/compilations/view.html.php и /views/compilations/tmpl/default.php, тогда нам проще будет помочь.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #369 : 04.11.2015, 10:47:45 »
Молодцы, ребята, респект вам за усердие и волю к победе, хотя лично считаю, что вы начинаете не с того конца.
Вы можете помогать нам.
Уверен, что многие хотели вам помочь, но нет на это времени: ведь скажешь "А", ты должен сказать и "Б".
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #370 : 04.11.2015, 16:42:49 »
b2z, спасибо Вам за поддержку! Сейчас мы, кстати, ещё раз пробегаемся по Вашему замечательному обучающему курсу Создание компонента для Joomla 2.5 на Joomlaблоге, разбираемся с выводом данных.
--------------------------------
Поняли, приводим коды файлов.

Вот /views/compilations/view.html.php:
Спойлер
[свернуть]

А вот /views/compilations/tmpl/default.php:
Спойлер
[свернуть]
« Последнее редактирование: 04.11.2015, 17:57:31 от mila_serdnaya »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #371 : 04.11.2015, 17:33:17 »
Сделайте print_r($this->items); чтобы посмотреть, что за данные сейчас приходят в макет. Приложите под спойлер начало массива, не надо весь.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #372 : 04.11.2015, 17:52:53 »
Данные, которые приходят в макет (пользователь создал 2 сборника и в каждый сборник поместил по материалу). Массив коротенький, поэтому в спойлер положили весь массив:
Спойлер
[свернуть]
« Последнее редактирование: 04.11.2015, 18:02:04 от mila_serdnaya »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #373 : 04.11.2015, 18:58:33 »
Странно, что кнопок нет. Пользователь, под которым зашли имеет ID = 919? Права на редактирование есть?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #374 : 04.11.2015, 19:28:01 »
b2z, да, пользователь 919. Пошли проверять права - оказалось, действительно, всё дело в них! Второй раз уже с этими правами попадаемся. Исправили.
----------------------
Мы зашли в "Система" - "Общие настройки" - "Права" - "Registred". Изменили права для зарегистрированных пользователей, выставив следующие значения:
Создавать - разрешено (чтобы пользователь мог создавать свои записи)
Удалять - разрешено (чтобы пользователь мог удалять свои записи)
Изменять свои - разрешено (чтобы пользователь мог редактировать свои записи)
---------------------
Кнопки появились!
То есть код, который Вы нам изначально написали для вывода списка сборников всё это время прекрасно работал. А из-за нашего косяка (неправильное выставление прав для зарегистрированных пользователей), мы этого не видели.
---------------------
Скрин прикрепляем.

« Последнее редактирование: 04.11.2015, 19:36:01 от mila_serdnaya »
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #375 : 06.11.2015, 00:49:16 »
Ой, люди добрыя! Помогииите! =)...Пытаемся мы присоединить материалы к списку сборников. И так, и эдак - не получается. Правим код в файле default.php прямо на сервере и сразу же смотрим изменения.
---------------------------------------------
Перечитали море информации о том, что такое многомерные ассоциативные массивы, про выборку данных из массива с помощью функции foreach, про ключи, про раскрывающиеся списки... Захлебнулись от переизбытка. Направьте нас, пожалуйста, в нужную сторну!
-------------------------------------------------------
Что мы поняли?

У нас есть многомерный массив, вроде как трёхуровневый.

Спойлер
[свернуть]

Для того, чтобы вывести значения этого массива, нужно, вроде как, воспользоваться функциями foreach, echo и ключами.

У нас в модели весь наш массив записан в переменную $items, - мы правильно это понимаем?
Вот кусок кода из модели:
Спойлер
[свернуть]


Если это так, то получается, что в файле вида (default.php) нам нужно функцию foreach применять к этой переменной $items


<?php foreach ($this->items (это мы обратились к нашей переменной в модели) as $i => $item (а здесь назначаем ключ) ) : ?>.
Нам, вообще непонятно, что такое $item? Мы знаем только, что такое $items...
Подскажите, пожалуйста, как нам наш ключ определить, чтобы добраться до названий материалов, которые содержатся в сборнике?
И, вообще, в нужном направлении мы копаем? Будем рады любой помощи, наводке и подсказке. 
   
« Последнее редактирование: 06.11.2015, 00:58:18 от mila_serdnaya »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #376 : 06.11.2015, 01:24:49 »
Чтобы использовать $this->items в default.php, у вас в view.html.php должна быть такая строка:
Код: php-brief
$this->items=$this->get('Items');
Теперь посмотрим, что такое
Код: php-brief
foreach ($this->items as $i => $item){
здесь_пишем_код_для_$i_и/или_$item
}
По-русски это звучит буквально:
Код: php-brief
для каждого (элемента с условным именем $item и порядковым номером $i из списка элементов $items){
выполняем_код_для_$i_и/или_$item
}
Первый элемент из приведенного вами списка будет 0=>$item, где $item->id=8, $item->title=Материалы без сборника и т.д. Нужно уделить внимание свойству $item->articles, которое, в свою очередь, представляет собой еще один массив. Чтобы работать с ним, мы снова используем старый прием
Код: php-brief
foreach($item->articles as $k=>$article){}
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #377 : 06.11.2015, 01:43:10 »
robert, вот наш файл view.html.php
Спойлер
[свернуть]

Строка $this->items=$this->get('Items'); в этом файле есть...
-----------------------
Сейчас пробуем Вашу функцию foreach($item->articles as $k=>$article){} в деле. Спасибо за подсказку! =)
« Последнее редактирование: 06.11.2015, 01:47:29 от mila_serdnaya »
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #378 : 06.11.2015, 02:05:57 »
Мы в наш default.php вставили вот такой код:
Спойлер
[свернуть]

А также в файл view.html.php добавили строку $this->articles = $this->get('Articles');. Не помогло.
Пишет, что "Warning: Invalid argument supplied for foreach() in Z:\home\starting\www\components\com_chmos\views\compilations\tmpl\default.php on line 149"

Линия 149 - это вот это: <?php foreach ($this->articles as $i => $article) : ?>
На всякий случай код прилагаем:
Спойлер
[свернуть]
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #379 : 06.11.2015, 02:15:18 »
robert, мы ближайший час ещё, как минимум, точно код штурмовать будем, поэтому Вы на нас не смотрите и, если нужно, со спокойной душой ложитесь спать. Вы нам ничем не обязаны.
Но если, вдруг, по каким-то причинам Вам не спится и Вы хотите/можете покопаться в коде с нами - мы только "ЗА". Мы тогда, вообще, просидим здесь столько, сколько скажете. =)
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #380 : 06.11.2015, 06:32:16 »
Спешим поделиться радостной новостью!
В общем, кумекали мы, кумекали - и докумекались! =)
Все наши изуверства над кодом оставляем истории, приводим итог наших мучений:
---------------------
Файл default.php в папке views компонента (код написан автором b2z) мы оставили практически без изменений,- просто сразу под кодом вставили вот этот кусочек:
Код
<?php foreach ($this->items as $i => $item) { ?>
<h3><?=$item->title?></h3>
<?php foreach ($item->articles as $article) { ?>
<p><?=$article->title?></p>
<?php } ?>
<?php } ?>
Сейчас файл default.php полностью выглядит вот так:
Спойлер
[свернуть]

Этот кусочек кода, который мы добавили, показывает во фронтенде список сборников с материалами, которые к ним относятся. Мы протестировали всё несколько раз, заходили под разными пользователями, создавали материалы, сборники, меняли названия сборников - список послушно отображает все изменения.
Так что, кажется, всё работает... Скажите, пожалуйста, правильный ли у нас код, - можно радоваться? 
Вот скрин с фронтенда:
« Последнее редактирование: 06.11.2015, 06:59:43 от mila_serdnaya »
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #381 : 06.11.2015, 06:55:11 »
....Теперь мы разбираемся с тем, как список материалов сделать кликабельным и редактируемым.
Как обычно, будем рады любой помощи. =)



*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Создание папок из фронтенда
« Ответ #382 : 06.11.2015, 11:29:23 »
....Теперь мы разбираемся с тем, как список материалов сделать кликабельным и редактируемым.
Как обычно, будем рады любой помощи. =)
В смысле чтобы была ссылка на форму редактирование материала?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #383 : 06.11.2015, 17:22:49 »
b2z, да.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #384 : 06.11.2015, 19:36:17 »
Мы немножко поменяли код, который выводит список сборников с материалами:

Код
<?php foreach($this->items as $key=>$item){
echo '<div class="title">'.$item->title.'</div>';
echo '<ul id="lvl1">';
foreach($item->articles as $article){
echo '<li>'.$article->title.'</li>';
 }
echo '</ul>';
}
?>

Теперь у нас материалы отображаются маркированным списком благодаря этой строке: echo '<li>'.$article->title.'</li>';
Мы так понимаем, в эту строчку нам и нужно добавлять функцию ссылки?
Подскажите, пожалуйста, эта конструкция: <a href="URL">...</a> нам подойдёт?
Мы пробуем её вставлять в строку echo '<li>'.$article->title.'</li>'; по всякому, но пока ничего не происходит.
---------------------------
Мы упростили себе задачу для того, чтобы с основой пока разобраться. Сейчас пробуем сделать так, чтобы можно было нажимать на материалы и ссылка вела сюда: http://joomlaforum.ru/.
Рассуждаем так: нам нужно <a href="http://joomlaforum.ru/">...</a> пристроить каким-то образом к echo '<li>'.$article->title.'</li>';...
Скажите, пожалуйста, правильный ли у нас ход мыслей?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание папок из фронтенда
« Ответ #385 : 06.11.2015, 20:45:02 »
Да, правильно.
Код: php-brief
echo '<li><a href="ссылка">'.$article->title.'</a></li>';
Не будь паразитом, сделай что-нибудь самостоятельно!
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Создание папок из фронтенда
« Ответ #386 : 06.11.2015, 20:46:54 »
Код: php
echo '<li><a href="'.JRoute::_('index.php?option=com_content&view=article&id='.$article->id).'">'.$article->title.'</a></li>';
но могу и ошибиться...
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #387 : 06.11.2015, 21:20:45 »
robert, конструкция верная, названия материалов стали кликабельными. При нажатии на любой заголовок материала попадаешь на страницу данного форума. Мы запутались в ковычках и не смогли их правильно расставить. а сейчас видим, где была наша ошибка. Спасибо!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #388 : 06.11.2015, 21:25:22 »
AlekVolsk, мы вставили в код Вашу ссылку - и заголовки материалов стали кликабельными. Но при нажатии на эти заголовки мы попадаем на страницу с ошибкой: 404 Материал не найден.
-----------------------
Пошли разбираться, в чём может быть дело...
Скрины прилагаем:
« Последнее редактирование: 06.11.2015, 21:32:21 от mila_serdnaya »
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Создание папок из фронтенда
« Ответ #389 : 06.11.2015, 21:56:06 »
Похоже всё дело в злосчастных настройках прав пользователя... Разбираемся с этими настройками.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание релиза компонента средствами GitHub

Автор SkyAn

Ответов: 4
Просмотров: 716
Последний ответ 01.11.2019, 17:42:04
от Septdir
[Решено] Создание контент плагина

Автор IvanTopor

Ответов: 4
Просмотров: 1249
Последний ответ 26.02.2016, 13:10:37
от IvanTopor
Создание динамических полей в своем компоненте

Автор NeuroZ

Ответов: 14
Просмотров: 1454
Последний ответ 18.08.2015, 11:17:59
от b2z
Создание таблиц средствами компонента

Автор spirit1086

Ответов: 3
Просмотров: 1035
Последний ответ 18.08.2015, 10:17:09
от spirit1086
Создание изображений PHP и GD

Автор vita1971

Ответов: 6
Просмотров: 922
Последний ответ 10.05.2015, 13:10:38
от vita1971