Новости Joomla

SW JProjects v.2.6.0 - компонент каталога расширений для Joomla

👩‍💻 SW JProjects v.2.6.0 - компонент каталога расширений для Joomla.Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам.👩‍💻 v.2.6.0. Что нового?Этот релиз прежде всего связан с SEO и AI-оптимизацией. - Микроразметка Schema.org.Добавлен плагин микроразметки Schema.org для сущностей компонента. Для списков используется ListItem, для страницы проекта и версии - SoftwareApplication, для страницы документации - TechArticle. Плагин группы schemaorg в отличие от стандартных плагинов заполняет данные автоматически, но встраивает данные в граф сущностей микроразметки Joomla. Также исправляется одна ошибка генерируемой ядром микроразметки в зоне ответственности компонента.- Улучшение поиска по ключам. В панели администратора в списке ключей теперь можно искать по номеру заказа, email, домену, содержимому примечания к ключу.- Список ключей в админке. В списке ключей в панели администратора добавлен вывод домена и примечания- Поиск в списке проектов. Поиск в списке проектов в панели администратора стал более точным. Из полей для поиска убраны лишние поля.Компонент работает на Joomla 6 без включённого плагина обратной совместимости.Страница расширения и скачатьGitHub расширения.Joomla Extensions Directory#joomla #расширения

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

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

rom

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Помогите пожалуйста решить или укажите направление для решения..
 В статье http://tattooroman.com/permanent-makeup/tatuazh-brovey/protsedura-tatuazha-brovey в самом низу стоит ссылка на якорь("FOTO"). Якорь на главной, в одном из разделов.
Так вот, нажимая на ссылку, раздел открывается, но не до конца. В чём может быть задержка??
Joomla 3.х
Заранее благодарен любому ответу!
« Последнее редактирование: 17.11.2014, 17:18:03 от rom »
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Re: Не до конца срабатывает якорь
« Ответ #1 : 07.11.2014, 01:19:57 »
Все нормально открывается
*

rom

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Re: Не до конца срабатывает якорь
« Ответ #2 : 07.11.2014, 02:06:25 »
Извиняюсь, я сразу не обратил внимание - я тестировал на Мазиле.
В Мазиле открывается вот так


т.е. не показывает папки с фотками, которые должны быть справа, как на этой фотке:


На Chrome и Opera вообще открывает только главную и всё.
Задача, чтобы перейти по ссылке и сразу попасть на открывшийся раздел "Мои работы"
« Последнее редактирование: 07.11.2014, 02:15:08 от rom »
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Не до конца срабатывает якорь
« Ответ #3 : 07.11.2014, 11:26:01 »
на главной в коде нет метки на которую ссылается якорь
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

rom

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Re: Не до конца срабатывает якорь
« Ответ #4 : 07.11.2014, 15:14:26 »
на главной в коде нет метки на которую ссылается якорь

Как это сделать? поделитесь пожалуйста
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Не до конца срабатывает якорь
« Ответ #5 : 07.11.2014, 15:22:48 »
Вот так
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

rom

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Re: Не до конца срабатывает якорь
« Ответ #6 : 07.11.2014, 17:31:05 »
Вот так

я так уже пытался сделать, но видать опыта мало, поэтому не уверен точно в какой файл и куда вставить метку.
пробовал поочерёдно вставлять в этот код(по логике в него надо) там где надпись " -ВСТАВЛЯЛ СЮДА-". Файл "gallery.php" в папке шаблона:
Код
<?php defined( '_JEXEC' ) or die; ?>
<?php

// Get a db connection.
$gallerydb = JFactory::getDbo();
 
// Create a new query object.
$query = $gallerydb->getQuery(true);
 
$query->select($gallerydb->quoteName(array('id','ttstudio_title','ttstudio_image','ttstudio_orderid','state')));
$query->from($gallerydb->quoteName('#__ttstudio_galleries'));
$query->order($gallerydb->quoteName('ttstudio_orderid'));

// Reset the query using our newly populated query object.
$gallerydb->setQuery($query);
$galleryresults = $gallerydb->loadRowList();

?>

<div class="gallery"> -ВСТАВЛЯЛ СЮДА-
<?php foreach ($galleryresults as $row) : ?>
<?php if ($row[4] == 1) { ?>
<?php if ($portfolioimghide == 0) { ?>     
    <figure>  -ВСТАВЛЯЛ СЮДА-
        <a -ВСТАВЛЯЛ СЮДА- class="gallery<?php echo $row[0]; ?>" data-title="<?php echo $row[1]; ?>" href="<?php echo $row[2]; ?>">
            <img src="<?php echo $row[2]; ?>" alt="">
        </a>  -ВСТАВЛЯЛ СЮДА-
        <figcaption> -ВСТАВЛЯЛ СЮДА-
            <span><?php echo $row[1]; ?></span>
        </figcaption>
    </figure>
<?php } else { ?> 
    <a class="gallerylink gallery<?php echo $row[0]; ?>" href="<?php echo $row[2]; ?>" data-title="<?php echo $row[1]; ?>"><?php echo $row[1]; ?></a><br/>
<?php } ?>   
<script type="text/javascript">
jQuery(function($) {
$(".gallery<?php echo $row[0]; ?>").swipebox({hideBarsDelay : <?php if (!empty($swipeboxautohide)) { echo $swipeboxautohide . '000'; } else { echo '0'; } ?>});
});
</script>   
<?php } ?>   
<?php endforeach; ?>   
</div>

<?php

// Get a db connection.
$itemsdb = JFactory::getDbo();
 
// Create a new query object.
$query = $itemsdb->getQuery(true);
 
$query->select($itemsdb->quoteName(array('id','ttstudio_title','ttstudio_gallery','ttstudio_image','ttstudio_video','ttstudio_orderid','state')));
$query->from($itemsdb->quoteName('#__ttstudio_gallery_items'));
$query->order($itemsdb->quoteName('ttstudio_orderid'));

// Reset the query using our newly populated query object.
$itemsdb->setQuery($query);
$itemsresults = $itemsdb->loadRowList();

?>

<?php foreach ($itemsresults as $row) :
if ($row[6] == 1) {
echo '<a data-rel="gallery' . $row[2] . '" href="';
if (!empty($row[4])) { echo $row[4]; } else { echo $row[3]; }
echo '" class="hide gallery' . $row[2] . '" data-title="' . $row[1] . '"></a>';
}
endforeach; ?>

но срабатывает так же как и с якорем, недооткрывается. как будто что-то блокирует срабатывание.
*

rom

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Re: Не до конца срабатывает якорь
« Ответ #7 : 17.11.2014, 17:15:48 »
Нашлось некоторое решение:
в файле custom.js
Код
    jQuery('#ascensorBuilding').ascensor({direction:"x",time:1300,childType:"article",loop:false,overflow:'hidden'});

    if (jQuery(window).width() > 1024) {
    jQuery('#ascensorBuilding').stellar();
    }
     
    jQuery(window).load(function () {
    "use strict";
    if (jQuery(window).width() > 800) {
    jQuery('body').find('header').stop().animate({
    'marginTop': '0px'
    }, 500);
    setTimeout(function () {
    jQuery('body').find('#main-menu ul').stop().animate({
    'marginLeft': '0px'
    }, 500);
    jQuery('body').find('#sub-menu ul').stop().animate({
    'marginLeft': '0px'
    }, 900);
    }, 500 );
    }
    var menuheight = jQuery('body').find('#main-menu').height();
    if (jQuery(window).width() < 640) {
    if (jQuery(window).height() > 320) {
    jQuery('body').find('#sub-menu').css('top', menuheight + 90);
    }
    else {
    jQuery('body').find('#sub-menu').css('top', menuheight + 50);
    }
    }
    else
    {
    if (jQuery(window).height() > 320) {
    jQuery('body').find('#sub-menu').css('top', menuheight);
    }
    else {
    jQuery('body').find('#sub-menu').css('top', menuheight + 50);
    }
    }
    });
     
    jQuery(window).resize(function () {
    "use strict";
    var menuheight = jQuery('body').find('#main-menu').height();
    if (jQuery(window).width() > 800) {
    jQuery('body').find('header').css('margin-top', '0px');
    jQuery('body').find('nav ul').css('margin-left', '0px');
    jQuery('body').find('#main-menu').css('display', 'block');
    jQuery('body').find('#sub-menu').css('display', 'block');
    jQuery('body').find('#sub-menu').css('top', menuheight);
    }
    if (jQuery(window).width() < 640) {
    jQuery('body').find('#main-menu').css('display', 'none');
    jQuery('body').find('#sub-menu').css('display', 'none');
    jQuery('body').find('#mobile-menu').removeClass('menu-close');
    if (jQuery(window).height() > 320) {
    jQuery('body').find('#sub-menu').css('top', menuheight + 90);
    }
    else {
    jQuery('body').find('#sub-menu').css('top', menuheight + 50);
    }
    }
    else
    {
    if (jQuery(window).height() > 320) {
    jQuery('body').find('#sub-menu').css('top', menuheight);
    }
    else {
    jQuery('body').find('#sub-menu').css('top', menuheight + 50);
    }
    jQuery('body').find('#main-menu').css('display', 'block');
    jQuery('body').find('#sub-menu').css('display', 'block');
    }
    });
     
     
    jQuery("body").find('#mobile-menu').on("click", function (e) {
    "use strict";
    e.preventDefault();
    jQuery('body').find('#main-menu').toggle();
    jQuery('body').find('#sub-menu').toggle();
    jQuery('body').find('#mobile-menu').toggleClass('menu-close');
    });
     
    if (jQuery(window).width() < 640) {
    jQuery("body").find('nav li a').on("click", function () {
    "use strict";
    jQuery('body').find('#main-menu').toggle();
    jQuery('body').find('#sub-menu').toggle();
    jQuery('body').find('#mobile-menu').toggleClass('menu-close');
    });
    }
     
    /////////////////* ACCORDION */////////////////////////
     
    jQuery(document).ready(function () {
    "use strict";
    jQuery('.accordion-header').toggleClass('inactive-header');
     
    jQuery('.accordion-content').css({ 'width': '100%' });
     
    jQuery('.accordion-header').click(function () {
    if (jQuery(this).is('.inactive-header')) {
    jQuery('.active-header').toggleClass('active-header').toggleClass('inactive-header').next().slideToggle().toggleClass('open-content');
    jQuery(this).toggleClass('active-header').toggleClass('inactive-header');
    jQuery(this).next().slideToggle().toggleClass('open-content');
    }
     
    else {
    jQuery(this).toggleClass('active-header').toggleClass('inactive-header');
    jQuery(this).next().slideToggle().toggleClass('open-content');
    }
    });
     
    return false;
    });
     
    jQuery('body').find('iframe').wrap('<div class="flex-video"></div>');
    jQuery('body').find('.hasTooltip').removeClass('hasTooltip');

первая строка:
Код
jQuery('#ascensorBuilding').ascensor({direction:"x",time:1300,childType:"article",loop:false,overflow:'hidden'});

была заменена на:
Код
if(window.location.hash=="#foto") {jQuery('#ascensorBuilding').ascensor({windowsOn: 1,direction:"x",time:1300,childType:"article",loop:false,overflow:'hidden'});}
else {jQuery('#ascensorBuilding').ascensor({direction:"x",time:1300,childType:"article",loop:false,overflow:'hidden'});}

Проблема в том, что всё хорошо работает как надо на локалке, а вот на хостинге не срабатывает. Странно, но не могу понять что может мешать работе скрипта. Может ли быть проблема в самом хосте??
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Не до конца срабатывает якорь
« Ответ #8 : 17.11.2014, 19:28:57 »
От хоста может быть только одна проблема - страница переходит на якорь только после полной загрузки, если какой-то файл потерялся, то загрузка идет долго или бесконечно и т.п.
*

rom

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Re: Не до конца срабатывает якорь
« Ответ #9 : 18.11.2014, 00:14:40 »
От хоста может быть только одна проблема - страница переходит на якорь только после полной загрузки, если какой-то файл потерялся, то загрузка идет долго или бесконечно и т.п.

Вы имеете ввиду, что на сайте на хосте не хватает файла в отличии сайта на локалке?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Не до конца срабатывает якорь
« Ответ #10 : 18.11.2014, 05:27:51 »
Вы посмотрите в консоль FireBug, есть ли там отсутствующие файлы, вместо того, чтобы задавать доп. Вопросы.
*

rom

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Re: Не до конца срабатывает якорь
« Ответ #11 : 19.11.2014, 01:02:11 »
Вы посмотрите в консоль FireBug, есть ли там отсутствующие файлы, вместо того, чтобы задавать доп. Вопросы.

спасибо, мистер просвещённость!)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать tooltip в регистрации в Joomla 3?

Автор KoloS

Ответов: 13
Просмотров: 8623
Последний ответ 24.08.2021, 19:00:51
от coolplaymaster
Шаблон VTEM CLEAN (не работает с русскими буквами) - ?

Автор warlocksp

Ответов: 6
Просмотров: 1395
Последний ответ 15.10.2018, 17:59:59
от Frost68
Как вывести alt для изображения в карточке?

Автор Anna01

Ответов: 6
Просмотров: 1971
Последний ответ 24.04.2017, 12:04:22
от Anna01
Стили пагинации в Helix 3

Автор stepan39

Ответов: 0
Просмотров: 1332
Последний ответ 30.03.2017, 12:30:13
от stepan39
При увелечении масштаба исчезает модуль

Автор Egordj

Ответов: 0
Просмотров: 1026
Последний ответ 08.02.2017, 20:56:41
от Egordj