Новости Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

👩‍💻 Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla.v.6.1.0 Что нового?Модуль корзины. Отображение корзины в виде offcanvas-элемента.Кнопка выхода в панели управления пользователя. Что тут сказать, просто добавили. Отправка писем только для заказов, оплаченных определёнными способами. Это удобно для рассылки сообщений, привязанных к региону или провайдеру (например, инструкции по банковскому переводу только для заказов, оплаченных банковским переводом).Листинг выплат по партнерской системе. В разделе управления партнёрскими программами появилось новое подменю «Выплаты», в котором перечислены выплаты партнёрам (упрощённое отслеживание и сверка). Добавлены настройки, благодаря которым можно определить категории товаров, на которые начисляется партнёрская комиссия с продаж.Список комплектов товаров. Система комплектов позволяет отслеживать остатки товаров, продаваемых в комплекте.Подробнее в блоге Hikashop.Поскольку мы не сообщали ранее о Hikashop 6.0, то вкратце скажем, что он вышел в июне 2025г. В новой версии было:- 13 исправлений ошибок- 17 улучшений. В частности:- - Hikashop теперь проверяет UserAgent пользователя перед добавлением товара в корзину, чтобы отсечь ботов. Ведь компонент хранит корзины в базе данных.- - улучшен роутинг компонента, позволяющий использовать в названии товара даже слеши.- - улучшения фильтра товаров - ускорение загрузки категорий/брендов/характеристик.- 4 новых функции:- - добавлена поддержка Joomla 6.0.- - Улучшена возможность адаптации форм HikaShop на фронтенде к шаблонам, не использующим стандартные классы Joomla.- - Плагин внутреннего баланса: возможность исключить уцененные товары из начисленных баллов.- - Теперь можно выбирать склады для вариантов товаров.Подробнее в Changelog Hikashop.Также при работе с Hikashop стоит учитывать, что один и тот же код поддерживает версии Joomla от 3.х до 5.х, а в таблице сравнения версий заявлена и Joomla 2.5. Беглый просмотр кода показал, что компонент как был, так и остался старым и для совместимости с Joomla 4+ просто добавлен плагин.@joomlafeed#joomla #расширения #hikashop

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста "Просто о Digital"Гость:🎙 Владимир Сергеенко ( https://t.me/aixman ) • Интернет-маркетолог с 14-летним опытом• Соавтор книги «Нетворкинг»• Спикер конференции Ассоциации директоров по развитиюВедущий:💻 Игорь Филипенко ( https://t.me/igorleee )• Программист и предприниматель с 16-летним опытом в digital• Основатель подкаста "Просто о Digital"• Специалист по автоматизации бизнес-процессовВ этом выпуске вы узнаете:🔥 Актуальность сайтов в эпоху нейросетей• Актуален ли сайт сейчас и будет ли актуален в будущем?• Зачем нужен сайт? Есть ли иные инструменты привлечения клиентов?🤖 Нейросети vs Поисковики vs Сайты• Почему нейросети не заменят сайты в B2B-сегменте• Как Google и Яндекс меняют алгоритмы из-за AI-конкуренции📊 Сайт как центр вселенной вашего трафика• Почему без сайта вы сливаете 40% маркетингового бюджета впустую?🛡 Безопасность и Joomla 6.0• Как отфильтровать 99% ботов и сэкономить на трафике• Почему Joomla теперь обходит WordPress в безопасности и скорости⚖️ Выбор платформы: битва CMS• WordPress: 50% рынка но 80% уязвимостей• Joomla: профессиональная CMS для сложных проектов• Drupal: почему его похоронили в 2023 году• Tilda: когда конструктор выгоднее CMSПриятного просмотра/прослушивания!RSS: https://cloud.mave.digital/61930Mave: https://igorfilipenko.mave.digitalЯндекс Музыка: https://music.yandex.ru/album/35840190Telegram Mave: https://t.me/mavestreambot/app?startapp=igorfilipenkoApple Podcasts: https://podcasts.apple.com/us/podcast/просто-о-digital-и-бизнесе/id1801903450ВКонтакте: https://vk.com/podcasts-12488584Youtube: https://www.youtube.com/playlist?list=PLfR6jTpnkohDDco32xZ-KyMyWi_S5Xdy2=========================Видео-формат подкаста:Rutube: https://rutube.ru/video/b5762754f9d3e0dc382f32f3034be0a2/Youtube: https://youtu.be/nu1XF2jNbxY#подкаст #podcast

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

ghenja

  • Новичок
  • 2
  • 0 / 0
Joomla 1.5 + Joomleague 1.6
Делал недавно людям возможность импорта игроков и персонала с предыдущих турниров, так что бы сохранялись позиции, номера, фото... вообщем все.
Если позиций не создано или каких то нет, которые есть в проекте из которого импортируются игроки и персонал, они автоматически создаются.

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

Затронуто 4 файла по игрокам и аналогично 4 файла по персоналу.
Игроки:

1. \administrator\components\com_joomleague\controllers\teamplayer.php
написана и добавлена функция
Код
	function import()
{
$db =& JFactory::getDBO();
$option='com_joomleague';
$mainframe =& JFactory::getApplication();
$project_id=$mainframe->getUserState($option.'project');
$p_team_id=$mainframe->getUserState($option.'project_team_id',0);
//$team_id = $mainframe->getUserState( $option . 'team' );
$newproject_id=JRequest::getVar('newp');
$qptnew="SELECT pn.id FROM `#__joomleague_project_team` AS pp LEFT JOIN `#__joomleague_project_team` AS pn ON pn.project_id='".$newproject_id."' AND pn.team_id=pp.team_id WHERE pp.id='".$p_team_id."' LIMIT 1";
$db->setQuery($qptnew);
$ptnew=$db->loadResult();
//echo $ptnew;
$query = "INSERT IGNORE INTO #__joomleague_project_position SELECT '','".$project_id."',pp.position_id,pp.modified,pp.modified_by FROM #__joomleague_project_position AS pp LEFT JOIN #__joomleague_position AS p ON p.id=pp.position_id WHERE pp.project_id='".$newproject_id."' AND p.persontype='1'";
$db->setQuery($query);
$db->query();
$q1="SELECT pp.id AS ppid,pn.id AS pnid, p.name AS name FROM `#__joomleague_project_position` AS pp LEFT JOIN #__joomleague_position AS p ON p.id=pp.position_id LEFT JOIN `#__joomleague_project_position` AS pn ON pn.position_id=pp.position_id AND pn.project_id='".$project_id."' WHERE pp.project_id='".$newproject_id."' AND p.persontype='1'";
$db->setQuery($q1);
//echo $q1.'<br>';
//$this->_db->setQuery($q1);
$result=$db->loadObjectList();
foreach ($result as $position){
$q2="INSERT IGNORE INTO `#__joomleague_team_player` (`projectteam_id`,`person_id`,`project_position_id`,`active`,`jerseynumber`,`notes`,`picture`,`extended`,`injury`,`injury_date`,`injury_end`,`injury_detail`,`injury_date_start`,`injury_date_end`,`suspension`,`suspension_date`,`suspension_end`,`suspension_detail`,`susp_date_start`,`susp_date_end`,`away`,`away_date`,`away_end`,`away_detail`,`away_date_start`,`away_date_end`,`published`,`ordering`,`checked_out`,`checked_out_time`,`modified`,`modified_by`)
SELECT '".$p_team_id."',`person_id`,'".$position->pnid."',`active`,`jerseynumber`,`notes`,`picture`,`extended`,`injury`,`injury_date`,`injury_end`,`injury_detail`,`injury_date_start`,`injury_date_end`,`suspension`,`suspension_date`,`suspension_end`,`suspension_detail`,`susp_date_start`,`susp_date_end`,`away`,`away_date`,`away_end`,`away_detail`,`away_date_start`,`away_date_end`,`published`,`ordering`,`checked_out`,`checked_out_time`,`modified`,`modified_by`
FROM `#__joomleague_team_player` WHERE projectteam_id='".$ptnew."' AND project_position_id='".$position->ppid."'";
$db->setQuery($q2);
$db->query();
//echo $q2.'<br>';
if (mysql_affected_rows()>0) echo $position->name." импортированы успешно! - ";
}
$this->display();
}

2. \administrator\components\com_joomleague\views\teamplayers\view.html.php
в функцию function _displayDefault( $tpl ) добавлена передача в шаблон переменных
Код
$this->assignRef( 'project_id',			$project_id );
$this->assignRef( 'plist', $this->get('ProjectsBySportsType') );

3. \administrator\components\com_joomleague\views\teamplayers\tmpl\default.php
в шаблон добавлено то самое поле
Код
<fieldset class="adminform">
<legend>
Импортировать состав
</legend>
<form name="import1" action="<?php echo JURI::root(); ?>administrator/index.php?option=com_joomleague&controller=teamplayer&view=teamplayers&task=import" method="post">
<input type="hidden" name="projectteam_id" id="projectteam_id" value="<?php echo $this->teamws->id; ?>" />


<table>
<tr>
<td>выбирите турнир: <?php
//build the HTML select list for projects
$projects[]=JHTML::_('select.option','0','выбирите турнир','id','name');

//check if the season filter is set and select the needed projects
$res = $this->plist;
$projects=array_merge($projects,$res);

echo JHTML::_('select.genericList',
$projects,
'newp',
'class="inputbox" style="width:100%"',
'id',
'name');
//echo $lists['projects']; ?></td>
</tr>
<tr>
<td><button type="submit" onclick="this.form.submit(); " value="import">Импортировать</button></td>

<input type="hidden" name="search_mode" value="<?php echo $this->lists['search_mode'];?>" id="search_mode" />
<input type="hidden" name="boxchecked" value="0" />
<input type="hidden" name="filter_order" value="<?php echo $this->lists['order']; ?>" />
<input type="hidden" name="filter_order_Dir" value="" />
</tr>
</table>

<?php echo JHTML::_( 'form.token' ); ?>
</form>
</fieldset>

4. \administrator\components\com_joomleague\models\teamplayers.php
в модель добавлена функция - ! sports_type_id - это id вида спорта, ставьте свое значение
   
Код
function getProjectsBySportsType()
{
$query = "SELECT id, name FROM #__joomleague_project as p
WHERE sports_type_id=1
AND published=1 ";
if ($season) {
$query .= ' AND season_id = '.(int) $season;
}
$query .= " ORDER BY p.ordering, p.name ASC ";
$this->_db->setQuery($query);
if (!$result = $this->_db->loadObjectList())
{
$this->setError($this->_db->getErrorMsg());
return false;
}
return $result;
}

Персонал:

1. \administrator\components\com_joomleague\controllers\teamstaff.php
написана и добавлена функция
Код
	function import()
{
$db =& JFactory::getDBO();
$option='com_joomleague';
$mainframe =& JFactory::getApplication();
$project_id=$mainframe->getUserState($option.'project');
$p_team_id=$mainframe->getUserState($option.'project_team_id',0);
//$team_id = $mainframe->getUserState( $option . 'team' );
$newproject_id=JRequest::getVar('newp');
$qptnew="SELECT pn.id FROM `#__joomleague_project_team` AS pp LEFT JOIN `#__joomleague_project_team` AS pn ON pn.project_id='".$newproject_id."' AND pn.team_id=pp.team_id WHERE pp.id='".$p_team_id."' LIMIT 1";
$db->setQuery($qptnew);
$ptnew=$db->loadResult();
//echo $ptnew;
$query = "INSERT IGNORE INTO #__joomleague_project_position SELECT '','".$project_id."',pp.position_id,pp.modified,pp.modified_by FROM #__joomleague_project_position AS pp LEFT JOIN #__joomleague_position AS p ON p.id=pp.position_id WHERE pp.project_id='".$newproject_id."' AND p.persontype>1";
$db->setQuery($query);
$db->query();
$q1="SELECT pp.id AS ppid,pn.id AS pnid, p.name AS name FROM `#__joomleague_project_position` AS pp LEFT JOIN #__joomleague_position AS p ON p.id=pp.position_id LEFT JOIN `#__joomleague_project_position` AS pn ON pn.position_id=pp.position_id AND pn.project_id='".$project_id."' WHERE pp.project_id='".$newproject_id."' AND p.persontype>1";
$db->setQuery($q1);
//echo $q1.'<br>';
//$this->_db->setQuery($q1);
$result=$db->loadObjectList();
foreach ($result as $position){
$q2="INSERT IGNORE INTO `#__joomleague_team_staff` (`projectteam_id`,`person_id`,`project_position_id`,`active`,`notes`,`injury`,`injury_date`,`injury_end`,`injury_detail`,`injury_date_start`,`injury_date_end`,`suspension`,`suspension_date`,`suspension_end`,`suspension_detail`,`susp_date_start`,`susp_date_end`,`away`,`away_date`,`away_end`,`away_detail`,`away_date_start`,`away_date_end`,`picture`,`extended`,`published`,`ordering`,`checked_out`,`checked_out_time`,`modified`,`modified_by`)
SELECT '".$p_team_id."',`person_id`,'".$position->pnid."',`active`,`notes`,`injury`,`injury_date`,`injury_end`,`injury_detail`,`injury_date_start`,`injury_date_end`,`suspension`,`suspension_date`,`suspension_end`,`suspension_detail`,`susp_date_start`,`susp_date_end`,`away`,`away_date`,`away_end`,`away_detail`,`away_date_start`,`away_date_end`,`picture`,`extended`,`published`,`ordering`,`checked_out`,`checked_out_time`,`modified`,`modified_by`
FROM `#__joomleague_team_staff` WHERE projectteam_id='".$ptnew."' AND project_position_id='".$position->ppid."'";
$db->setQuery($q2);
$db->query();
//echo $q2.'<br>';
if (mysql_affected_rows()>0) echo $position->name." импортированы успешно! - ";
}
$this->display();
}

2. \administrator\components\com_joomleague\views\teamstaff\view.html.php
в функцию function _displayDefault( $tpl ) добавлена передача в шаблон переменных
Код
$this->assignRef( 'project_id',			$project_id );
$this->assignRef( 'plist', $this->get('ProjectsBySportsType') );

3. \administrator\components\com_joomleague\views\teamstaff\tmpl\default.php
в шаблон добавлено то самое поле
Код
<fieldset class="adminform">
<legend>
Импортировать состав
</legend>
<form name="import1" action="<?php echo JURI::root(); ?>administrator/index.php?option=com_joomleague&controller=teamstaff&view=teamstaffs&task=import" method="post">
<input type="hidden" name="projectteam_id" id="projectteam_id" value="<?php echo $this->teamws->id; ?>" />


<table>
<tr>
<td>выбирите турнир: <?php
//build the HTML select list for projects
$projects[]=JHTML::_('select.option','0','выбирите турнир','id','name');

//check if the season filter is set and select the needed projects
$res = $this->plist;
$projects=array_merge($projects,$res);

echo JHTML::_('select.genericList',
$projects,
'newp',
'class="inputbox" style="width:100%"',
'id',
'name');
//echo $lists['projects']; ?></td>
</tr>
<tr>
<td><button type="submit" onclick="this.form.submit(); " value="import">Импортировать</button></td>

<input type="hidden" name="search_mode" value="<?php echo $this->lists['search_mode'];?>" id="search_mode" />
<input type="hidden" name="boxchecked" value="0" />
<input type="hidden" name="filter_order" value="<?php echo $this->lists['order']; ?>" />
<input type="hidden" name="filter_order_Dir" value="" />
</tr>
</table>

<?php echo JHTML::_( 'form.token' ); ?>
</form>
</fieldset>

4. \administrator\components\com_joomleague\models\teamplayers.php
в модель добавлена функция - ! sports_type_id - это id вида спорта, ставьте свое значение
   
Код
function getProjectsBySportsType()
{
$query = "SELECT id, name FROM #__joomleague_project as p
WHERE sports_type_id=1
AND published=1 ";
if ($season) {
$query .= ' AND season_id = '.(int) $season;
}
$query .= " ORDER BY p.ordering, p.name ASC ";
$this->_db->setQuery($query);
if (!$result = $this->_db->loadObjectList())
{
$this->setError($this->_db->getErrorMsg());
return false;
}
return $result;
}

Все работает!

P.S. Если кому-то сложно добавить вышеуказанное (хотя вроде подробно все написал), то ообращайтесь помогу за вознаграждение :-)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Копирование игроков из другого турнира

Автор sopila

Ответов: 5
Просмотров: 4284
Последний ответ 10.03.2019, 01:31:20
от DragonbyKuzya
Неверно считаются матчи в истории игр и в персональной статистике игроков

Автор tornario

Ответов: 6
Просмотров: 2469
Последний ответ 26.11.2015, 12:25:35
от M0sk0W
Joomleague 2 - поиск игроков

Автор born

Ответов: 0
Просмотров: 2053
Последний ответ 11.06.2015, 17:53:29
от born
Изменить вид таблицы игроков

Автор drongo666

Ответов: 8
Просмотров: 2294
Последний ответ 18.05.2015, 15:34:35
от drongo666
Сортировка игроков по результативности

Автор apugachev86

Ответов: 0
Просмотров: 1921
Последний ответ 28.01.2015, 20:57:48
от apugachev86