Новости 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 Гость просматривают эту тему.
  • 18 Ответов
  • 5770 Просмотров

Условия к формам
« : 24.09.2009, 16:30:58 »
Имеется несколько пунктов. В одном из пунктов несколько радио-кнопок. Можно ли сделать так, чтобы следующий пункт со строкой для ввода текста выводился лишь при выборе определённой радио-кнопки? Если можно, то как? Объясните кто может пожалуйста =)

P.S. Joomla 1.5, BreezingForms 1.5.9. Заранее благодарен)
« Последнее редактирование: 25.09.2009, 08:59:36 от художнег »

Re: Условия к формам
« Ответ #1 : 25.09.2009, 09:11:55 »
Еще одна проблемка: есть строка для ввода данных на сотрудника. ниже - кнопка, при нажатии на которую появляется такая же строка (если сотрудников несколько). Как сделать что-нить подобное?

Re: Условия к формам
« Ответ #2 : 28.09.2009, 16:46:06 »
Вроде разобрался как это сделать вручную...

Народ, подскажите хоть как к нужному радио-баттону добавить загрузку внешнего скрипта?
Выбираем нужный нам радио-баттон, переходим на вкладку scripts. Дальше - Action Scripts -> Custom (Галочка на Click), дальше что?

Если пишешь просто src="filename.js" - то не хочет он обращаться к скрипту. Что писать-то?
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Условия к формам
« Ответ #3 : 28.09.2009, 17:04:07 »
В Manage Script создаете новый документ (скрипт). Присваиваете ему имя, сам скрипт вставляется в нижнее поле,которое открывается при создании документа. Все это дело сохраняете.
В своей форме открываете "вкладку scripts. Дальше - Action Scripts -> Custom (Галочка на Click)" и выбираете свой скрипт для применения submit

Re: Условия к формам
« Ответ #4 : 29.09.2009, 09:13:14 »
В своей форме открываете "вкладку scripts. Дальше - Action Scripts -> Custom (Галочка на Click)" и выбираете свой скрипт для применения submit

vagkrsk, как выбрать что-то во вкладке "Custom", если ручками писать надо, причём как я понял вида "ff_{element_name}_action(element,action)"?

Объясните, пожалуйста, подробнее что где и куда)
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Условия к формам
« Ответ #5 : 29.09.2009, 09:43:30 »
vagkrsk, как выбрать что-то во вкладке "Custom", если ручками писать надо

Вношу поправку
В Manage Script создаете новый документ (скрипт). Присваиваете ему имя, сам скрипт вставляется в нижнее поле,которое открывается при создании документа. Все это дело сохраняете.
В своей форме открываете "вкладку scripts. Дальше - Action Scripts -> Library (Галочка на Click)" и выбираете свой скрипт для применения submit

В случае с "Custom":
Вставляете свой код в нижнее поле.

"ff_{element_name}_action(element,action)"?
Объясните, пожалуйста, подробнее что где и куда)

Примеры скриптов можно поглядеть в самом компоненте в разделе Manage Script

Re: Условия к формам
« Ответ #6 : 29.09.2009, 11:14:14 »
vagkrsk, спасибо огромное!)

Только всё равно пока что не очень получается))
Не подскажете в чём ошибка?

В общем, в "manage scripts" создал функцию, Package:FF, Type:Element Action,

function name_function()
{
  document.all.my.outerHTML="<INPUT TYPE='BUTTON' VALUE='Кнопка'>";
}

Затем к нужному нам радио-баттону прикрепил данный скрипт, создал элемент () с именем "my", который, собсно, и должен менятся на Кнопку после выбора радио-баттона, а он, сволочь такая, не меняется... Проверял вне Joomla (т.е. отдельная HTML-страничка и файл .js) - работает (правда в FF и NN не совсем, но это уже другая проблема ^-^ )
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Условия к формам
« Ответ #7 : 29.09.2009, 11:48:13 »
В дальнейших рассуждениях и действиях не очень "силен" по уровню подготовки
Но, если все правильно понял, то подскажу следующее.
Неоднакратно читал на форуме и сталкивался сам с тем, что нужно четко выдерживать
стили написания имен. Допустим, что это ff_validate_nextpage,
а Вы создали подобный новый скрипт и дали ему имя ff_My
В такой версии может не сработать.
Я, чтобы избежать дурных ошибок и потом их искать неведомо где, делаю просто ff_validate_nextpage1, дублирую.

Второе, не зная назначения кнопки трудно что-то утверждать, но данная функция подойдет к тому событию, что
описываете гораздо больше.?

Код
function ff_showaction(element, action)
{
   alert('Action '+action+' performed by element '+element.id);
}

Re: Условия к формам
« Ответ #8 : 29.09.2009, 11:58:17 »
vagkrsk, нет, метод alert выводит окошко с сообщением и кнопкой. Мне этого не нужно. Нужно, чтобы при выборе радио-баттона один элемент формы менялся на другой... либо же просто ниже радиобаттонов появлялся новый элемент для ввода данных пользователем.
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Условия к формам
« Ответ #9 : 29.09.2009, 12:11:21 »
vagkrsk, нет, метод alert выводит окошко с сообщением и кнопкой. Мне этого не нужно. Нужно, чтобы при выборе радио-баттона один элемент формы менялся на другой... либо же просто ниже радиобаттонов появлялся новый элемент для ввода данных пользователем.

Сейчас, понял назначение и смысл "батона" !
Есть встречное предложение.
Приведу пример из FacileForms 1.4.7 (что в принципе одно и то же) выпадающий список
Он для данной задачи более чем подходит и трудностей больших не предвидится в его оформлении и вставки в  общую таблицу. Тема
« Последнее редактирование: 29.09.2009, 12:14:57 от vagkrsk »

Re: Условия к формам
« Ответ #10 : 29.09.2009, 12:40:41 »
Спасибо за встречное предложение, в будущем, уверен, должно пригодиться =)

Но сейчас нужно немного другое: даже если вместо радио-кнопок делать раскрывающийся список с двумя вариантами "нет" и "да" - то при выборе варианта "да" должны появляться две строчки для ввода текста. При выборе варианта "нет" строчки должны оставаться невидимыми. Может и есть возможность сделать данную штуковину при помощи шаблона "Country selection", но это для меня оооооооооч сложно)) Неужели нет варианта попроще?
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Условия к формам
« Ответ #11 : 29.09.2009, 13:04:58 »
 Есть простой и очень неплохой компонент для форм RSform!Pro 1.2.0 rev 22
Использую вторым для форм сайта

Re: Условия к формам
« Ответ #12 : 29.09.2009, 14:00:06 »
А из бесплатного больше ничего нету?)
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий

Re: Условия к формам
« Ответ #14 : 30.09.2009, 13:34:41 »
vagkrsk, он у меня уже стоит  ^-^

Вроде нашёл несколько вариантов как решить свою проблему, но в BreezingForms не соображу как вставить код.
Прикрепил к своей радио-кнопке вот такого плана функцию:

Код: javascript
function createMessage(titlep, titles) {
 
  var container = document.createElement('div')
 
  container.innerHTML = '<div> \
    <div>'+titlep+'</div> \
    <input type="text" width="350" /> \
    <div>'+titles+'</div> \
    <input type="text" width="350" /> \
  </div>'
 
  return container.firstChild
} // Создание формы

function positionMessage(elem) {
  elem.style.position = 'absolute'
 
  var scroll = document.documentElement.scrollTop ||

document.body.scrollTop
  elem.style.top = scroll + 200 + 'px'
 
  elem.style.left = Math.floor(document.body.clientWidth/2) - 150 + 'px'
} // Позиционирование на странице

  // создать
  var messageElem = createMessage('Полное наименование', 'Сокращённое наименование')
 
  // позиционировать
  positionMessage(messageElem)
 
  // вставить в документ
  document.body.appendChild(messageElem)

Так тот div, который должен появляться при нажатии на радио-кнопку, появляется сразу при загрузке страницы. Хотя вне Joomla работает норм. Не подскажете где тут косяк и как можно это подправить?
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Условия к формам
« Ответ #15 : 30.09.2009, 13:42:32 »
Вроде нашёл несколько вариантов как решить свою проблему, но в BreezingForms не соображу как вставить код.

Так тот div, который должен появляться при нажатии на радио-кнопку, появляется сразу при загрузке страницы. Хотя вне Joomla работает норм. Не подскажете где тут косяк и как можно это подправить?

В таких делах, наверное, мне совета у Вас спрашивать нужно  ^-^

Re: Условия к формам
« Ответ #16 : 30.09.2009, 13:53:25 »
Уррррррррррря, получиииииииииилось!))))))))))
*

vagkrsk

  • Давно я тут
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Re: Условия к формам
« Ответ #17 : 30.09.2009, 14:58:04 »
Раскажи всем  ^-^
Будет интересно узнать, как получилось.
Может где-то придется использовать.

Re: Условия к формам
« Ответ #18 : 30.09.2009, 15:27:38 »
Допустим: есть две радио-кнопки ("Да" и "Нет"). Чтобы при нажатии на "Да" появлялись доп. строки для ввода текста, я прикрепил к ней следущую функцию (ff_da):

Код: javascript
function ff_da() {
function createMessage(titlep, titles) {
 
  var container = document.createElement('div')
 
  container.innerHTML = '<div id="an"> \
    <div>'+titlep+'</div> \
    <input type="text" width="350" /> \
    <div>'+titles+'</div> \
    <input type="text" width="350" /> \
  </div>'
 
  return container.firstChild
} // Создание формы

function positionMessage(elem) {
  elem.style.position = 'absolute'
 
  var scroll = document.documentElement.scrollTop ||

document.body.scrollTop
  elem.style.top = scroll + 200 + 'px'
 
  elem.style.left = Math.floor(document.body.clientWidth/2) - 150 + 'px'
} // Позиционирование на странице

  // создать
  var messageElem = createMessage('Полное наименование', 'Сокращённое наименование')
 
  // позиционировать
  positionMessage(messageElem)
 
  // вставить в документ
  document.body.appendChild(messageElem)}

Правда там ещё нужно повозиться с функцией позиционирования (function positionMessage), чтобы строки появлялись там где нужно - я просто пример один использовал - содрал почти ничего не изменяя =)

Да, но теперь появилась ещё одна проблема: на вторую радио-кнопку ("Нет") нужно повесить условие, чтобы появившиеся строки опять исчезали. Вне Joomla это сделать довольно просто: к данной радио-кнопке на событие "onclick" поставить следующее:
Код: javascript
messageElem.parentNode.removeChild(messageElem)
- всё работает как надо. А вот в BreezingForms пока вставить не получается ((

Люди знающие, помогите, а?  :'(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться