Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
   Всем привет! Требуется ваша помощь в написании компонента для своего сайта. При передачи переменной ($item->id) в ссылке ни как не могу ее отлавить и выполнить функцию в модели.
Поиск перерыл вдоль и поперек, форум последний крик. Вот код:

Ссылка в представлении
Спойлер
[свернуть]

Код контроллера lists.php
Спойлер
[свернуть]

функция в модели lists.php
Спойлер
[свернуть]

Перепробовал уже все варианты. Три дня бьюсь с этой фигней. Ни сообщения ошибки, ни удаления. Как будто кода вообще не существует.
« Последнее редактирование: 05.09.2016, 15:48:55 от ghostcom »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Код
<a class="btn" href="index.php?option=com_ocenka&view=lists&controller=lists&task=delete&cid=<?php echo $item->id;?>" onclick="return confirm('точно?');">Удалить из базы</a>

Это должно быть на странице какого-нибудь списка.
Выведи содержимое переменной которая используется в foreach для формирования списка...
Ну или хотя бы попробуй вывести содержимое переменной $item в пределах ее видимости...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Это должно быть на странице какого-нибудь списка.
Выведи содержимое переменной которая используется в foreach для формирования списка...
Ну или хотя бы попробуй вывести содержимое переменной $item в пределах ее видимости...

Не совсем понял вас.

да это список, сылка в каждой записи. ID передается в адресную строку правильно.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
да это список, сылка в каждой записи. ID передается в адресную строку правильно.

Мне всегда помогало!
Код: php
<?php $id = JRequest::getVar('id'); ?>
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Код: php
<?php foreach ( $this->items as $item ): ?>

это?
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Мне всегда помогало!
Код: php
<?php $id = JRequest::getVar('id'); ?>

Так пробовал вместо jInput не помогло или ч не туда вставляю. В модель или контроллер надо?

*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Если я добавляю страница я весь код пишу в модели, а контроллер у меня пустой
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Если я добавляю страница я весь код пишу в модели, а контроллер у меня пустой

Tak!! А как вызвать функцию по ссылке?

index.php?model=lists&task=delete&id=100

так чтоли?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Tak!! А как вызвать функцию по ссылке?

index.php?model=lists&task=delete&id=100

так чтоли?


Покажи как выглядит страница? Что бы удалить запись нажимаешь на ссылку или кнопку?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Лучше всего, сделай по принципу который используется в других компонентах... Там все просто и легко.
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Это не <form> и не <input submit>, а простая <a></a>.
Я и так делаю по аналогии с 'phoca guestbook' компонента, принцип тот же и стоит на одном сайте, а работать не хочет. Мне кажется дело в route.php. Пока не могу разобраться
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
ТС, у вас какая-то сборная солянка.
1. Конечно, вы можете делать по-своему в своей точке входа, но в Joomla в $_REQUEST обычно передаются либо task, либо view. В вашем случае - task.
2. controller не передается - он присутствует в task в виде controller.task (точнее, subcontroller.task).
3. зачем вызывать функцию delete, оговаривая при этом, что на самом деле вызывается remove? Не проще ли переименовать remove() в delete()?
4. в модели не нужно указывать аргумент $cid в функции delete(), или хотя бы указать его значение по-умолчанию: у вас он берется из $_REQUEST.
Предполагаю, что вы должны были вызвать
Код: php-brief
index.php?option=com_ocenka&task=lists.delete&cid=<?php echo $item->id;?>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
при таком
index.php?option=com_ocenka&task=lists.delete&cid=<?php echo $item->id;?>
вызове выдает
The requested URL/lists.remove was not found on this server.

переименовывал remove в delete, delete в remove, какая разница?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
переименовывал remove в delete, delete в remove, какая разница?
В __construct() вы писали
Код: php-brief
$this->registerTask('delete', 'remove');
Это вы говорите системе: "Когда я вызываю delete, на самом деле я вызываю remove (ну я такой коварный, у меня не ищи легкой работы)" - теперь видите разницу?
Соответственно, когда вы переименовали remove в delete, но не удалили ту строку, система продолжает искать remove.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Везде менял на delete, потом везде пробовал remove.
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Неужели ни кто не может объяснить какие нюансы вызова task ?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Я вам уже объяснил вкратце. Попробую еще раз.
В компоненте есть основной контроллер (в корневой папке модуля) и субконтроллеры (в папке controllers). В отличие от функций (tasks) основного контроллера, которые вызываются таким образом:
/index.php?option=component_name&task=task_name&blahblahblah
, функции субконтроллера вызываются вместе с названием последнего:
/index.php?option=component_name&task=subcontroller_name.task_name&blahblahblah.
Но это еще не все: мы не знаем, что вы поаналогииничали в точке входа, в моделях... Короче, выкладывайте весь код своего компонента.
Черт побери, я уже жалею, что начал здесь писать. Все почему-то сразу за компоненты взялись, не утруждаясь изучать азы. Здесь что, песочница, готовящая Joomla-разработчиков с нуля?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
вот
Спойлер
[свернуть]
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
вот
Спойлер
[свернуть]
Так тут уже другой код. Ну и что с ним не так?

P.S. А, вижу, вы хотите удалить запись с фронта? Ну, для начала в модели вместо $this->_db поставьте $db.
Потом, я вроде уже писал, что view и task одновременно не передаются. А у вас все равно стоит index.php?option=com_online_ocenka&view=lists&task=lists.remove&cid='.$item->id
« Последнее редактирование: 06.09.2016, 16:27:21 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Код почти тот же! В виде lists(фронтэнд) есть кнопка "Удалить из базы" при нажатии задача не выполняется ни че не удаляется. Уже по всякому пробовал. По этому и обратился  к форуму. А у вас что работает?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
P.S. А, вижу, вы хотите удалить запись с фронта? Ну, для начала в модели вместо $this->_db поставьте $db.
Потом, я вроде уже писал, что view и task одновременно не передаются. А у вас все равно стоит index.php?option=com_online_ocenka&view=lists&task=lists.remove&cid='.$item->id
А у вас что работает?
Боже упаси! Чтобы я еще поставил себе ваш шедевр.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Да блин дело до модели вообще еще не доходит!
The requested URL /****/lists.remove was not found on this server.

Но за замечание спасибо, поправил!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Шедевр еще не дописан, но ставится и удаляется нормально!
Компонент нужен только для одного сайта.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
&view=lists убрали? Если да, то надо указать модели, откуда берется $cid. Потом, если у $cid нет значения по-умолчанию, то нельзя вызвать функцию remove() без аргумента.
ставится и удаляется нормально!
А что там особенного? Joomla сама записывает или удаляет файлы + таблицы, нужно лишь указать правильные пути в XML. А вот код будет работать или нет, ей по фиг.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
view убрали. remove($cid = 0) поставил.

Не срабатывает remove в контроллере!
*

ghostcom

  • Захожу иногда
  • 103
  • 1 / 0
Пошел сдвиг, как я и думал дело в route.php который формирует ссылки!

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

поставил( точнее почистил)

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

Выдал сообщение о удачном удалении, хотя фактически удаление не произошло. Но это уже чтото. Двигаем далее.

Теперь будем разбираться в модели (дальше наверо я и сам справлюсь)
 
Спасибо robert'у!
« Последнее редактирование: 06.09.2016, 17:17:30 от ghostcom »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать уровни подкатегорий в меню

Автор desaund1

Ответов: 0
Просмотров: 1253
Последний ответ 10.08.2017, 22:34:06
от desaund1
Изменить форму на главной ?

Автор warlocksp

Ответов: 2
Просмотров: 1120
Последний ответ 19.02.2017, 15:44:11
от warlocksp
Дублирование на сайте

Автор derenikp

Ответов: 3
Просмотров: 1249
Последний ответ 08.01.2017, 17:30:00
от derenikp
ошибка "File for Model inventory not found"

Автор polgrig

Ответов: 0
Просмотров: 1277
Последний ответ 05.08.2016, 14:36:02
от polgrig
Ошибка сайта Joomla 2.5 504 Gateway

Автор andreivik

Ответов: 5
Просмотров: 1297
Последний ответ 04.05.2016, 20:17:50
от voland