Новости Joomla

WT Set elements v.1.0.0: плагин поля для RadicalMart

WT Set elements v.1.0.0: плагин поля для RadicalMart

👩‍💻 WT Set elements v.1.0.0: плагин поля для RadicalMart.Плагин пользовательского поля компонента интернет-магазина для Joomla - RadicalMart (@radicalmart). Плагин позволяет создавать набор элементов, включающих заголовок, изображение и краткое описание и выбирать необходимые из них в товаре. Отображать наборы элементов можно в виде товара и в списке товаров (в своих макетах). От клиента поступил запрос на возможность добавления для товаров в RadicalMart списка повторяемых элементов. Это должен был быть редактируемый в одном месте список функций и режимов, которые могли относиться к разным товарам одной категории в разных сочетаниях. Во вкладке параметров "Отображение" вы можете выбрать отображать или нет элементы в категории товаров и/или карточке товара. Для каждого вида возможно выбрать собственный макет. Файлы макета находятся в /layouts/plugins/radicalmart_fields/wtsetelements. Вы можете использовать свои файлы макета в формате .php, разместив их в этой папке. Кроме того, файлы макетов можно переопределить стандартным способом Joomla, после чего они будут доступны по адресу: /templates/YOUR_TEMPLATE/html/layouts/plugins/radicalmart_fields/wtsetelements.Плагин предполагает самостоятельную разработку макетов вывода. Макеты "из коробки" следует рассматривать как образец для создания собственных.Плагин бесплатный. Протестирован на Joomla 5.3.3 и RadicalMart 2.2.4.Плагин разработан в соавторстве участниками нашего сообщества: Сергеем Сергевниным (@gresserg) и Сергеем Толкачёвым (@sergeytolkachyov).Страница расширенияGitHub расширения@joomlafeed#joomla #расширения #radicalmart

IWS.BY VK app widget - Виджет приложения ВКонтакте для Joomla

IWS.BY VK app widget - Виджет приложения ВКонтакте для Joomla

👩‍💻 IWS.BY VK app widget - Виджет приложения ВКонтакте для Joomla.Модуль «Виджет приложения ВКонтакте» для Joomla поможет добавить на сайт виджет с карточкой приложения или игры из социальной сети ВКонтакте.У вас возникла потребность отобразить информацию о ваших приложениях или играх на сайте с кнопкой перехода в социальную сеть, то этот модуль для Вас. Вам не придется хранить информацию о приложении у себя на сайте, все данные получаются через публичное API социальной сети ВКонтакте. Хранение информации на стороне ВКонтакте позволит Вам не нагружать базу данных сайта.В модуле имеется всего несколько опций и полей, которые максимально упрощают публикацию виджета. Первая опция позволяет подключить публичное API социальной сети ВКонтакте, необходимое для работы виджетов. Следующее поле потребует ввести идентификатор приложения или игры, присвоенный в социальной сети ВКонтакте. Следующая опция позволит выбрать вид отображаемой информации в виджете.Модуль имеет 3 варианта отображения:- карточка- участники- кнопкаПоддерживаемые версии Joomla: Joomla 3, Joomla 4, Joomla 5.Страница расширенияJoomla Extensions Directory#joomla #расширения #vk

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#joomla #расширения

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

Fanamura

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Вот код:
Код
  $query1 = sprintf("SELECT SUM(me.event_sum) AS value, p.firstname, p.lastname, t.short_name as team, p.id as id
            FROM #__joomleague_match_events AS me
            LEFT JOIN #__joomleague_players AS p ON me.player_id = p.id  
            LEFT JOIN #__joomleague_playertool AS pt ON me.player_id = pt.player_id AND pt.project_id = me.project_id
            LEFT JOIN #__joomleague_teams AS t ON pt.team_id = t.id
            LEFT JOIN #__joomleague_team_joomleague AS teamtool ON teamtool.team_id = t.id AND teamtool.project_id = me.project_id
            LEFT JOIN #__joomleague_divisions AS jldiv ON jldiv.id = teamtool.division_id
           WHERE  
                 me.event_type_id =%s AND
                 me.project_id =%s AND
                 ( jldiv.id = $division OR jldiv.parent_id = $division )
        GROUP BY p.id
        ORDER BY value DESC  LIMIT 0 , %s",$eventtype ,$project->id, $limit);

$database->setQuery($query);


$query2= sprintf("SELECT (SUM(ch.vote_rating) / COUNT(ch.vote_rating)) as star, SUM(me.event_sum) AS value2
            FROM #__joomleague_match_events AS me
            LEFT JOIN #__joomleague_players AS p ON me.player_id = p.id  
            LEFT JOIN #__joomleague_playertool AS pt ON me.player_id = pt.player_id AND pt.project_id = me.project_id
            LEFT JOIN #__joomleague_teams AS t ON pt.team_id = t.id
            LEFT JOIN #__joomleague_team_joomleague AS teamtool ON teamtool.team_id = t.id AND teamtool.project_id = me.project_id
            LEFT JOIN #__joomleague_divisions AS jldiv ON jldiv.id = teamtool.division_id
LEFT JOIN #__joomleague_chara AS ch ON me.player_id = ch.id_hock
           WHERE  
  me.player_id = ch.id_hock AND
                 me.event_type_id =%s AND
                 me.project_id =%s AND
                 ( jldiv.id = $division OR jldiv.parent_id = $division )
        GROUP BY p.id
        ORDER BY value2 DESC  LIMIT 0 , %s",$eventtype ,$project->id, $limit);
$database->setQuery($query);

?>
    
    <table width="100%" align="center" border="0" cellpadding="2" cellspacing="0">
    <?php
      
        $k = 0;
        foreach($rows as $row){
        
          $class = ($k == 0)? 'sectiontableentry1' : 'sectiontableentry2';
        
    ?>
      <tr class="<?php print $class;?>">
        <td align="left"><a class="link_prof" href="http://www.amurteam.ru/component/option,com_joomleague/func,showPlayer/lang,ru/p,1/pid,<?php echo $row->id;?>"><?php echo sprintf("%s %s",$row->firstname, $row->lastname);?></a></td>
        <td class="stars"><div class="st"><?php echo floor($row->star);?></div></td>
        <td align="left"><?php echo $row->value;?></td>

Поясню что к чему.
<?php echo sprintf("%s %s",$row->firstname, $row->lastname);?>
<?php echo $row->value;?>
 <?php echo $row->id;?> - из первого запроса
<?php echo floor($row->star);?> - из второго

При таком написании (я пробовал раз 20 по-разному писать) выводится резалт только последнего запроса.
Вопрос как же вывести оба?
Чтобы все в таблице было заполнено? Что делать с $database->setQuery($query); и т.д.

Подскажите, пожалуйста, весь день мучаюсь над этой фигней.
Объединить оба запроса в один не вариант - почему? вопрос тут: http://phpclub.ru/talk/showthread.php?s=&postid=877700#post877700
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
1.$database->setQuery($query1);
  $rows1 = $database->loadObjectList();
2.$database->setQuery($query2);
  $rows2 = $database->loadObjectList();
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Fanamura

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Спасибо за ответ.

Добавил эти строки с loadObjectList(); после запросов - ничего не поменялось. Отображаются результаты только второго запроса :(
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Правильно. Второй запрос переопределяет результаты первого, поскольку выполняется последним. Разнесите результаты запросов по разным пеерменным.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
А я в приведенном коде вызова $database->query() вообще не нашел.
*

Fanamura

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
А я в приведенном коде вызова $database->query() вообще не нашел.
Чего ить?)
Правильно. Второй запрос переопределяет результаты первого, поскольку выполняется последним. Разнесите результаты запросов по разным пеерменным.
А каким макаром?
Так должно получится?
Код
 <tr class="<?php print $class;?>">
        <td align="left"><a class="link_prof" href="http://www.amurteam.ru/component/option,com_joomleague/func,showPlayer/lang,ru/p,1/pid,<?php echo $row1->id;?>"><?php echo sprintf("%s %s",$row1->firstname, $row1->lastname);?></a></td>
        <td class="stars"><div class="st"><?php echo floor($row2->star);?></div></td>
        <td align="left"><?php echo $row1->value;?></td>
А как это сделать?
Извините за глупые вопросы, все очень легко решается при помощи простого SQL, но тут хочется сделать все "тру", а попа какая-то рисуется на простейшем
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Я понятия не имею о структуре таблиц этого компонента, но 5 связанных таблиц это круто, поэтому не знаю какие данные запросы должны возвращать. Для начала проверьте, эти запросы вообще выполняются? Для этого выведите результаты запросов и посмотрите их содержание, будет понятней что с ними делать.
Код: php
echo 'Первый запрос<br />';
var_dump ($rows1);
echo 'Второй запрос<br />';
var_dump ($rows2);
Что выводится?
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Fanamura

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Выводит много чего и первый и второй запросы:

One
array(10) {
  • => object(stdClass)#560 (5) { ["value"]=> string(1) "7" ["firstname"]=> string(12) "Руслан" ["lastname"]=> string(16) "Хасаншин" ["team"]=> string(6) "Аму" ["id"]=> string(2) "29" } [1]=> object(stdClass)#574 (5) { ["value"]=> string(1) "2" ["firstname"]=> string(18) "Александр" ["lastname"]=> string(12) "Юньков" ["team"]=> string(6) "Аму" ["id"]=> string(2) "30" } [2]=> object(stdClass)#296 (5) { ["value"]=> string(1) "2" ["firstname"]=> string(8) "Юрий" ["lastname"]=> string(16) "Кокшаров" ["team"]=> string(6) "Аму" ["id"]=> string(2) "36" } [3]=> object(stdClass)#581 (5) { ["value"]=> string(1) "2" ["firstname"]=> string(10) "Петер" ["lastname"]=> string(16) "Нюландер" ["team"]=> string(6) "Аму" ["id"]=> string(2) "25" } [4]=> object(stdClass)#554 (5) { ["value"]=> string(1) "2" ["firstname"]=> string(12) "Максим" ["lastname"]=> string(22) "Кривоножкин" ["team"]=> string(6) "Аму" ["id"]=> string(2) "22" } [5]=> object(stdClass)#577 (5) { ["value"]=> string(1) "1" ["firstname"]=> string(12) "Максим" ["lastname"]=> string(10) "Юшков" ["team"]=> string(6) "Аму" ["id"]=> string(2) "31" } [6]=> object(stdClass)#537 (5) { ["value"]=> string(1) "1" ["firstname"]=> string(14) "Дмитрий" ["lastname"]=> string(14) "Семенов" ["team"]=> string(6) "Аму" ["id"]=> string(2) "38" } [7]=> object(stdClass)#564 (5) { ["value"]=> string(1) "1" ["firstname"]=> string(10) "Радик" ["lastname"]=> string(12) "Закиев" ["team"]=> string(6) "Аму" ["id"]=> string(2) "32" } [8]=> object(stdClass)#291 (5) { ["value"]=> string(1) "1" ["firstname"]=> string(14) "Алексей" ["lastname"]=> string(16) "Копейкин" ["team"]=> string(6) "Аму" ["id"]=> string(2) "21" } [9]=> object(stdClass)#565 (5) { ["value"]=> string(1) "1" ["firstname"]=> string(10) "Игорь" ["lastname"]=> string(20) "Игнатушкин" ["team"]=> string(6) "Аму" ["id"]=> string(2) "20" } }



Two
array(9) {
  • => object(stdClass)#547 (2) { ["star"]=> string(6) "5.0000" ["value2"]=> string(2) "21" } [1]=> object(stdClass)#580 (2) { ["star"]=> string(6) "5.3333" ["value2"]=> string(1) "6" } [2]=> object(stdClass)#293 (2) { ["star"]=> string(6) "9.0000" ["value2"]=> string(1) "4" } [3]=> object(stdClass)#572 (2) { ["star"]=> string(6) "7.0000" ["value2"]=> string(1) "2" } [4]=> object(stdClass)#292 (2) { ["star"]=> string(6) "8.5000" ["value2"]=> string(1) "2" } [5]=> object(stdClass)#568 (2) { ["star"]=> string(6) "9.0000" ["value2"]=> string(1) "2" } [6]=> object(stdClass)#314 (2) { ["star"]=> string(6) "9.0000" ["value2"]=> string(1) "2" } [7]=> object(stdClass)#569 (2) { ["star"]=> string(6) "9.0000" ["value2"]=> string(1) "2" } [8]=> object(stdClass)#538 (2) { ["star"]=> string(7) "10.0000" ["value2"]=> string(1) "1" } }


Вот весь код:
<?php
	
	

/*
 * @version $Id: mod_joomleague_events_statistic.php 1126 2008-06-09 05:45:04Z julienv $
 * @package Joomleague
 * @subpackage eventsstats
 * @copyright Copyright (C) 2007  JoomLeague
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see _joomleague_license.txt
**********************************************
JoomLeague EVENTS STATISTIC MODULE
Copyright (c) 2007 JoomLeague.de
**********************************************
This program is free software; you can redistribute it and/or modify 
it under the terms of the GNU General Public License as published by 
the Free Software Foundation; either version 2 of the License, or 
(at your option) any later version.

This header must not be removed. Additional contributions/changes
may be added to this header as long as no information is deleted.
**********************************************

* EVENTS STATISTIC MODULE
*
* 2008-01-08 - Version 0.92
*
* Displays a selected eventtype list (e.g. goals or yellow cards) for the 
* choosen project.
* There are some options for this module, which can be set in the 
* "Parameters" section of the module in Administration.
*

**********************************************
Get the latest version of JoomLeague at:
http://www.joomleague.de//
**********************************************
*/

defined'_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

if (
file_exists($mosConfig_absolute_path.'/components/com_joomleague/language/'.$mosConfig_lang.'.php')) {
  include_once(
$mosConfig_absolute_path.'/components/com_joomleague/language/'.$mosConfig_lang.'.php');

else{
  include_once(
$mosConfig_absolute_path.'/components/com_joomleague/language/english.php');
}

require_once 
'administrator/components/com_joomleague/joomleague.class.php';

$p         intval($params->get'project'));
$show      $params->get'show');
$division  intval($params->get'division'));
$eventtype intval($params->get'eventtype'));
$limit     intval($params->get'limit'));
$mod_itemid intval($params->get'itemid'$Itemid ));

$project = new JoomLeague$database );
$project->load($p);

// LEFT JOIN #__joomleague_chara AS ch ON me.player_id = ch.id_hock

if ( $division ) {
  
$query1 sprintf("SELECT SUM(me.event_sum) AS value, p.firstname, p.lastname, t.short_name as team, p.id as id
            FROM #__joomleague_match_events AS me
            LEFT JOIN #__joomleague_players AS p ON me.player_id = p.id  
            LEFT JOIN #__joomleague_playertool AS pt ON me.player_id = pt.player_id AND pt.project_id = me.project_id
            LEFT JOIN #__joomleague_teams AS t ON pt.team_id = t.id
            LEFT JOIN #__joomleague_team_joomleague AS teamtool ON teamtool.team_id = t.id AND teamtool.project_id = me.project_id
            LEFT JOIN #__joomleague_divisions AS jldiv ON jldiv.id = teamtool.division_id
	
	

           WHERE  
                 me.event_type_id =%s AND 
                 me.project_id =%s AND
                 ( jldiv.id = 
$division OR jldiv.parent_id = $division )
        GROUP BY p.id
        ORDER BY value DESC  LIMIT 0 , %s"
,$eventtype ,$project->id$limit); 
}
else {
  
$query1 sprintf("SELECT SUM(me.event_sum) AS coun, p.firstname, p.lastname, t.short_name as team
            FROM #__joomleague_match_events AS me, #__joomleague_players AS p, #__joomleague_teams AS t, #__joomleague_playertool AS pt
           WHERE me.player_id = p.id AND 
                 me.player_id = pt.player_id AND 
                 me.team_id=t.id AND
                 pt.team_id = t.id AND 
                 pt.project_id = me.project_id AND
                 me.event_type_id =%s AND 
                 me.project_id =%s
        GROUP BY p.id
        ORDER BY coun DESC  LIMIT 0 , %s"
,$eventtype$project->id$limit);
}
$database->setQuery($query1);
$rows1 $database->loadObjectList();
echo 
'One<br />';
var_dump ($rows1);

$query2sprintf("SELECT (SUM(ch.vote_rating) / COUNT(ch.vote_rating)) as star, SUM(me.event_sum) AS value2
            FROM #__joomleague_match_events AS me
            LEFT JOIN #__joomleague_players AS p ON me.player_id = p.id  
            LEFT JOIN #__joomleague_playertool AS pt ON me.player_id = pt.player_id AND pt.project_id = me.project_id
            LEFT JOIN #__joomleague_teams AS t ON pt.team_id = t.id
            LEFT JOIN #__joomleague_team_joomleague AS teamtool ON teamtool.team_id = t.id AND teamtool.project_id = me.project_id
            LEFT JOIN #__joomleague_divisions AS jldiv ON jldiv.id = teamtool.division_id
	

	
	
	
LEFT JOIN #__joomleague_chara AS ch ON me.player_id = ch.id_hock
           WHERE  
	
	
   me.player_id = ch.id_hock AND
                 me.event_type_id =%s AND 
                 me.project_id =%s AND
                 ( jldiv.id = 
$division OR jldiv.parent_id = $division )
        GROUP BY p.id
        ORDER BY value2 DESC  LIMIT 0 , %s"
,$eventtype ,$project->id$limit);
$database->setQuery($query2);
$rows2 $database->loadObjectList();
echo 
'Two<br />';
var_dump ($rows2);

?>
<?php 
  
if($show == 1){?><div align="center"><b><?php echo $project->name;?></b></div><?php };
  
  if (! 
$rows $database->loadObjectList()){
     echo 
"<pre>";
     echo 
$database->getErrorMsg();
    echo 
$database->getQuery();
     echo 
"</pre>";
     exit;
  }
  else {  
    
?>
    
    <table width="100%" align="center" border="0" cellpadding="2" cellspacing="0">
    <?php
      
	
	
	
	

        
$k 0;
        foreach(
$rows as $row){
        
          
$class = ($k == 0)? 'sectiontableentry1' 'sectiontableentry2';
        
    
?>
      <tr class="<?php print $class;?>">
        <td align="left"><a class="link_prof" href="http://www.amurteam.ru/component/option,com_joomleague/func,showPlayer/lang,ru/p,1/pid,<?php echo $row1->id;?>"><?php echo sprintf("%s %s",$row1->firstname$row1->lastname);?></a></td>
        <td class="stars"><div class="st"><?php echo floor($row2->star);?></div></td>
        <td align="left"><?php echo $row1->value;?></td>
      </tr>
    <?php     
          $k 
$k;
        }
    
?>
    
    </table>
    <a class="all" href="<?php 
        
echo sefRelToAbs'index.php?option=com_joomleague&amp;func=eventsstats&amp;p='.$project->id
                        
'&amp;evid='.$eventtype
                        
'&amp;Itemid='.$mod_itemid); 
             
?>">
      <?php echo _JL_MODULE_RANKING_TOTAL?>
    </a>
    <?php     
  
}
?>
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Ну и сейчас выводить все это. Если первый запрос всегда больше (10) второго (9) я бы сделал так
Строку
Код: php
if (! $rows = $database->loadObjectList()){
Заменил на
Код: php
if (! $rows1  || ! $rows2){{
А
Код: php
 $k = 0;
 $i = 0;
        foreach($rows1 as $row1){
            if ($rows2[$i])  $row2 = $rows2[$i];
            ......
            $i++;
И в зависимости в какой переменной хранится нужное значение выводить его из нужной переменной $row1 или $row2
Можно как-то по другому, другим циклом, не foreach
« Последнее редактирование: 14.11.2009, 10:56:11 от Lex »
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Fanamura

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Все получилось, спасибо Вам неизмеримо огромное :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 3724
Последний ответ 12.11.2023, 23:37:03
от all_zer
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 9575
Последний ответ 05.11.2020, 20:56:47
от Kijv
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2061
Последний ответ 14.08.2020, 07:16:44
от rsn
Не могу войти в админку Joomla 1.5

Автор MrSkif

Ответов: 14
Просмотров: 10428
Последний ответ 12.09.2018, 19:36:32
от PaLyCH
Не войду в админку Joomla 1.5.26, пишет соединение с сервером было сброшено

Автор rom_4

Ответов: 4
Просмотров: 5451
Последний ответ 16.05.2018, 17:28:18
от Алексей MeRsOvOd