Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

Тёмин Даниил

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Здравствуйте, форумчане! Суть проблемы такова: в модуле News Calendar (календарь новостей) при наведении на дату, в которую публиковался материал всплывает блок с ссылкой на данный материал. Нужно сделать: чтоб ничего не всплывало, а сделать ссылкой на материал само число публикации.

Догадываюсь, что дело в классах mc-items и hasitems. Но как сделать нужные изменения, даже не представляю. Прошу помощи!  

Собственно, сайт: school16eao.mcdir.ru

Собственно, файлы php и css:

Код
<?php
/*------------------------------------------------------------------------
# mod_newscalendar - News Calendar
# ------------------------------------------------------------------------
# author    Jesъs Vargas Garita
# Copyright (C) 2010 www.joomlahill.com. All Rights Reserved.
# @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
# Websites: http://www.joomlahill.com
# Technical Support:  Forum - http://www.joomlahill.com/forum
-------------------------------------------------------------------------*/
 
// no direct access
defined('_JEXEC') or die;
 
$doc = JFactory::getDocument();
if (file_exists(JPATH_BASE.DS.'modules' . DS . 'mod_newscalendar' . DS . 'css' . DS . $params->get('stylesheet'))) {
    $stylesheet = $params->get('stylesheet', 'blue-arrows.css');
} else {
    $stylesheet = 'blue-arrows.css';
}
$doc->addStyleSheet('modules/mod_newscalendar/css/' . $stylesheet);
$script = "var sfolder = '" . JURI::base(true). "';";
$doc->addScriptDeclaration($script);
$doc->addScript('modules/mod_newscalendar/assets/newscalendar.js');
if (!$params->get('mid')) {
    $mid = $module->id;
} else {
    $mid = $params->get('mid');
}
?>
<?php if ($cal->ajaxed == 0) : ?>
<div class="newscalendar" id="newscalendar<?php echo $mid; ?>"><?php endif; ?>
    <table class="nc-header" cellspacing="0">
        <thead>
            <tr>
                <td width="20"><a href="javascript:void(0)" onClick="updateNewsCalendar(<?php echo $cal->curmonth; ?>,<?php echo $cal->curyear-1; ?>,<?php echo $mid; ?>)" class="back-yr"></a></td>
                <td width="20"><a href="javascript:void(0)" onClick="updateNewsCalendar(<?php echo ($cal->curmonth!=1?$cal->curmonth-1:12); ?>,<?php echo ($cal->curmonth!=1?$cal->curyear:$cal->curyear-1); ?>,<?php echo $mid; ?>)" class="back-mth"></a></td>
                <td align="center"><div id="monthyear_<?php echo $mid; ?>"><span class="monthname"><?php echo $cal->monthname; ?></span> <span class="yearname"><?php echo ($params->get('subyearname')?substr($cal->curyear,2):$cal->curyear); ?></span></div></td>
                <td width="20" align="right"><a href="javascript:void(0)" onClick="updateNewsCalendar(<?php echo ($cal->curmonth!=12?$cal->curmonth+1:1); ?>,<?php echo ($cal->curmonth!=12?$cal->curyear:$cal->curyear+1); ?>,<?php echo $mid; ?>)" class="fwd-mth"></a></td>
                <td width="20" align="right"><a href="javascript:void(0)" onClick="updateNewsCalendar(<?php echo $cal->curmonth; ?>,<?php echo $cal->curyear+1; ?>,<?php echo $mid; ?>)" class="fwd-yr"></a></td>
            </tr>
        </thead>
    </table>
    <table class="nc-body" cellspacing="0">
        <thead>
            <tr>
            <?php
            for($i = $params->get('firstday'); $i <= $params->get('firstday')+6; $i++) :
          ?>    <td class="dayname dayweek<?php echo (($i>6)?($i-6):($i+1)); ?>" align="center"><?php echo modNewsCalendarHelper::encode('MOD_NEWSCALENDAR_DAYNAME_' . $params->get('subdayname'). '_' . (($i>6)?($i-6):($i+1)),$params->get('encode'),$cal->ajaxed); ?></td>      
            <?php endfor; ?></tr>
        </thead>
        <tbody>
        <?php
            $fday=$params->get('firstday');
            for($i = 0; $i < count($cal->weeks); $i++)
            {
            ?><tr class="week<?php echo $i+1; ?>">
                <?php
                for($j=0; $j < 7; $j++)
                {
                    if(!empty($cal->weeks[$i][$j]))
                    {
                        $day = explode(' ',$cal->weeks[$i][$j]);
                        $class = 'nc-day';  
                        $ul = '';              
                        if ( $day[1] ) {
                            $class .= " outofmonth";
                        } else {
                            $class .= " weekday".((($j+$fday)>6)?(($j+$fday)-6):($j+$fday+1));  
                            if ($day[0]==date('j') && $cal->curmonth==date('m')) {
                                $class .= " today";
                            }
                        }
                        if (isset($cal->items[$day[0]]) && !$day[1]) {
                            $class .= " hasitems";  
                        }
                        ?><td><span class="<?php echo $class; ?>"><?php
                            echo $day[0];
                            if (isset($cal->items[$day[0]]) && !$day[1]) { ?>
                            
                            <ul class="nc-items"><?php
                            
                            foreach ($cal->items[$day[0]] as $item) { ?>
                                <li><a href="<?php echo preg_replace('/modules\/mod_newscalendar\/assets\//', '', $item->link); ?>"><?php echo $item->title; ?></a></li><?php }
                            ?></ul>
                        <?php }
                       ?></span></td>
                    <?php } else { ?>
                    <td></td><?php
                    }
                } ?>
                </tr>
        <?php } ?>
            
        </tbody>
    </table>
    <?php if ($cal->ajaxed == 0) : ?>
    <div class="bgimgcall"><img src="modules/mod_newscalendar/assets/opacity.png" /></div>
</div><?php endif; ?>

Код
/*
 * Module mod_newscalendar For Joomla
 * Version      : 1.0.0
 * Created by   : Jesus Vargas
 * License : GNU/GPLv3 [url]http://www.gnu.org/licenses/gpl-3.0.html[/url]
 */
 
div.newscalendar {
    max-width: 250px;
    overflow: visible;
}
table.nc-header, table.nc-body {
    border: none;
    width: 100%;
}
table.nc-header tr, table.nc-body tr, table.nc-header td, table.nc-body td  { border: none; }  
table.nc-header {
    margin: 5px 0;
}
table.nc-header a {
    background: url(../assets/arrows-blue.png) no-repeat 0 100%;
    height: 16px;
    display: block;
    width: 16px;
}
table.nc-header a.back-mth { background-position: 0 -32px; }
table.nc-header a.fwd-mth { background-position: 0 -16px; }
table.nc-header a.fwd-yr { background-position: 0 0; }
table.nc-header .monthname, table.nc-header .yearname, table.nc-body .dayname {
    font-weight: bold;
}
.newscalendar span.weekday1 {}
.newscalendar span.weekday2 {}
.newscalendar span.weekday3 {}
.newscalendar span.weekday4 {}
.newscalendar span.weekday5 {}
.newscalendar span.weekday6 {
    color: #FF3D3D;
}
.newscalendar span.weekday7 {
    color: #FF3D3D;
}
.newscalendar span.outofmonth {
    color: #CCCCCC;
}
.newscalendar span.today {
    font-weight: bold;
}
.newscalendar span.today ul li {
    font-weight: normal;
}
.newscalendar span.nc-day {
    position: relative;
    display: block;
    padding: 3px 2px;
    text-align: center;
}
.newscalendar ul.nc-items {
    background: url(../assets/opacity.png) repeat;
    position: absolute;
    left: auto!important;
    right: auto!important;
    top: auto!important;
    bottom: 15px!important;
    font-size: 0.8em;
    line-height: 1.1em;
    margin: 0!important;
    padding: 5px 10px;
    width: 180px;
    list-style: none;
    border: 1px solid #000;
    text-align: left;
    z-index: 100;
    box-shadow: 0 0 8px #333;
    border-radius: 5px;
    display: none;
}
.newscalendar .week1 ul.nc-items, .newscalendar .week2 ul.nc-items {
    top: 15px!important;
    bottom: auto!important;
}
.newscalendar span.weekday1 ul.nc-items { left: 0!important; }
.newscalendar span.weekday2 ul.nc-items { left: -100%!important; }
.newscalendar span.weekday3 ul.nc-items { left: -200%!important; }
.newscalendar span.weekday4 ul.nc-items { left: -250%!important; }
.newscalendar span.weekday5 ul.nc-items { right: -200%!important; }
.newscalendar span.weekday6 ul.nc-items { right: -100%!important; }
.newscalendar span.weekday7 ul.nc-items { right: 0!important; }
 
span.nc-day ul.nc-items li  {
    padding: 3px 5px;
}
span.nc-day ul.nc-items li a  {
    background: none;
    display: block;
    color: #FFF;
}
span.nc-day ul.nc-items li a:hover  {
    color: yellow;
}
span.nc-day:hover ul.nc-items {
    display: block;
}
.newscalendar span.hasitems {
    cursor: pointer;
    background: url(../assets/dot.png) no-repeat 50% 100%;
}
.bgimgcall {
    display: none;
}
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Изменение настроек вывода ссылки
« Ответ #1 : 13.04.2014, 09:35:40 »
Так за одну дату может быть и две новости, и больше. Тут не про CSS, тут сам модуль переделывать тогда нужно.
*

Тёмин Даниил

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Изменение настроек вывода ссылки
« Ответ #2 : 13.04.2014, 09:53:25 »
Так за одну дату может быть и две новости, и больше. Тут не про CSS, тут сам модуль переделывать тогда нужно.

Ну, две точно не будет! Это сто процентов! Просто надо ссылку впихнуть на число а не на выпадающий блок с названием новости
*

Тёмин Даниил

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Изменение настроек вывода ссылки
« Ответ #3 : 13.04.2014, 11:25:24 »
 По сути, как мне кажется, проблема в этом отрывке:

Код
  if (isset($cal->items[$day[0]]) && !$day[1]) {
                            $class .= " hasitems";
                        }
                        ?><td><span class="<?php echo $class; ?>"><?php
echo $day[0];
                        if (isset($cal->items[$day[0]]) && !$day[1]) { ?>
                           
                            <ul class="nc-items"><?php

                            foreach ($cal->items[$day[0]] as $item) { ?>
                                <li><a href="<?php echo preg_replace('/modules\/mod_newscalendar\/assets\//', '', $item->link); ?>"><?php echo $item->title; ?></a></li><?php }
                            ?></ul>

hasitems - класс самой цифры, на которую приходится публикация материала
nc-items - класс всплывающего блока с названием-ссылкой материала

заставить hasitems выполнять задачи nc-items и все заработает. Только как заставить, какие куски кода выкинуть, какие оставить и куда поставить?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Изменение настроек вывода ссылки
« Ответ #4 : 13.04.2014, 11:54:04 »
Попробуйте заменить ваш код…

Код: php
<td><span class="<?php echo $class; ?>"><?php 
echo $day[0];
                        if (isset($cal->items[$day[0]]) && !$day[1]) { ?>
                           
                            <ul class="nc-items"><?php

                            foreach ($cal->items[$day[0]] as $item) { ?>
                                <li><a href="<?php echo preg_replace('/modules\/mod_newscalendar\/assets\//', '', $item->link); ?>"><?php echo $item->title; ?></a></li><?php }
                            ?></ul>

на…

Код: php
<td><a class="<?php echo $class; ?>" href="<?php echo preg_replace('/modules\/mod_newscalendar\/assets\//', '', $cal->items[$day[0]][0]->link); ?>"><?php echo $day[0];?></a>
*

Тёмин Даниил

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Изменение настроек вывода ссылки
« Ответ #5 : 13.04.2014, 12:12:10 »
Не, тогда не работает сайт.

Методом тыка выяснил вот что:

Код
if (isset($cal->items[$day[0]]) && !$day[1]) {
                                                     $class .= " hasitems";

                        }
                        ?>><td><span class="<?php echo $class; ?>"><?php
echo $day[0];
                        if (isset($cal->items[$day[0]]) && !$day[1]) { ?>
- самая "нежная" часть кода. Видимо, в ней и нужно что-то менять.

Код
<ul class="nc-items"><?php

                            foreach ($cal->items[$day[0]] as $item) { ?>
                                <p><a href="<?php echo preg_replace('/modules\/mod_newscalendar\/assets\//', '', $item->link); ?>"><?php echo $item->title; ?></a></p><?php }
                            ?></ul>
- фактически не играющий значения код, из которого и надо вставить как-то ссылку в первую часть
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменение размера модального окна

Автор nesskafe

Ответов: 4
Просмотров: 2756
Последний ответ 16.06.2020, 17:43:05
от xpank
Ссылки в меню в мобильной версии

Автор Андрей Нестеров

Ответов: 1
Просмотров: 2104
Последний ответ 11.12.2019, 10:47:20
от sivers
Код в теге ссылки для изменение background-image с помощью onmouseover

Автор Bozhkov2

Ответов: 5
Просмотров: 1611
Последний ответ 19.12.2018, 16:56:48
от Bozhkov2
Настройка вывода модуля погоды SP Weather

Автор IvanIvanch

Ответов: 2
Просмотров: 1876
Последний ответ 31.10.2018, 23:19:28
от IvanIvanch
Сделать эффект CSS у кнопок как у ссылки

Автор wishlight

Ответов: 1
Просмотров: 1506
Последний ответ 15.07.2018, 23:36:56
от AdWeb