Новости Joomla

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

Вы уверенно чувствуете себя перед камерой, динамичны, обаятельны и всегда улыбаетесь? Чувствуете себя искателем приключений, готовым поделиться своими исследованиями CMS Joomla!, взять интервью у видных деятелей сообщества, пообщаться лично или по видеосвязи с волонтерами Joomla или отправиться на поиски новых идей?

Joomla ищет одного или нескольких волонтеров, готовых вдохнуть новую жизнь в обсуждение Joomla, ее CMS, пользователей, сообщества и многого другого.

Возможны самые разные форматы и темы: шортсы, интервью, аналитика и разборы в режиме реального времени, быстрые советы и рекомендации, знакомство с миром Joomla, изучение открытого исходного кода... Нет никаких ограничений!

Joomla! уже активно представлена ​​во многих социальных сетях:
- 155K подписчиков на Facebook,
- 55K подписчиков на X (ранее Twitter),
- 16K подписчиков на YouTube,
- 14K подписчиков на LinkedIn,
- 5,7K подписчиков в Instagram
а так же другие площадки ждут вас. Аккаунты Threads и Bluesky относительно новые, но их популярность только растёт!

А если хватит энергии, можно рассмотреть и TikTok!

❓ Итак, вы готовы?
👉 Свяжитесь с отделом маркетинга по адресу: marketing@community.joomla.org

Подробности в статье в Joomla Community Magazine.

@joomlafeed

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

Erkin

  • Новичок
  • 1
  • 0 / 0
Привет всем! А как сделать чтоб второй категории не было видно пока не выбириш пунк из первой категории?
« Последнее редактирование: 04.11.2012, 17:56:11 от Erkin »
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
ADS_2.6.1 Связные поля выбора категории и под категории.
Подчеркиваю, у меня по задаче только родительские категории и под категории, если у Вас 3-4-5 и т. д. вложенные под категории нужно вводить еще <select>`ы и модифицировать скрипт динамического селектбокса.

Изменяем шаблон добавления объявления:
в файле \components\com_adsmanager\views\edit\tmpl\default.php функция function updateFields() примерно 208 строка, между, ну например <!-- titel --> и  <!-- form --> вставляем скрипт

Код
  <!--/*my script*/-->
  <script>
  function dynamicSelect(id1, id2) {

// Сперва необходимо проверить поддержку W3C DOM в браузере

if (document.getElementById && document.getElementsByTagName) {

// Определение переменных, ссылающихся на списки

var sel1 = document.getElementById(id1);
var sel2 = document.getElementById(id2);

// Клонирование динамического списка

var clone = sel2.cloneNode(true);

// Определение переменных для клонированных элементов списка

var clonedOptions = clone.getElementsByTagName("option");

// Вызов функции собирающей вызываемый список

refreshDynamicSelectOptions(sel1, sel2, clonedOptions);

// При изменении выбранного элемента в первом списке:
// вызов функции пересобирающей вызываемый список

sel1.onchange = function() {
refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
}
}
}

// Функция для сборки динамического списка

function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {

// Удаление всех элементов динамического списка

while (sel2.options.length) {
sel2.remove(0);
}
var pattern1 = /( |^)(select)( |$)/;
var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");

// Перебор клонированных элементов списка

for (var i = 0; i < clonedOptions.length; i++) {

// Если название класса клонированного option эквивалентно "select"
// либо эквивалентно значению option первого списка

if (clonedOptions[i].className.match(pattern1) ||
clonedOptions[i].className.match(pattern2)) {

// его нужно клонировать в динамически создаваемый список

sel2.appendChild(clonedOptions[i].cloneNode(true));
}
}
}

// Вызов скрипта при загрузке страницы

window.onload = function() {
dynamicSelect("parentcats", "subcats");
}
  </script>
  <!--/*end my script*/-->

идем в файл \components\com_adsmanager\views\edit\view.html.php и меняем функции (не забывайте старые версии файлов сохранить, что бы откатиться можно было)

Код
	function selectCategories($id, $level, $children,&$catid,$root_allowed,$link,$current_cat_only =0) {
if (@$children[$id]) {
foreach ($children[$id] as $row) {
if (($root_allowed == 1)||(!@$children[$row->id])) {
if ($current_cat_only == 0)
{?>
<option class="<?php echo 'cat'.$row->parent;?>" value="<?php echo JRoute::_("$link&catid=".$row->id); ?>" <?php if ($row->id == $catid) { echo "selected='selected'"; } ?>>
<?php echo $level.$row->name; ?>
</option>
<?php
}
else if ($row->id == $catid)
{
echo $level.$row->name;
}
}
$this->selectCategories($row->id, /*убрано что бы не дублировать родительские категории $level.$row->name." >> "*/"", $children,$catid,$root_allowed,$link,$current_cat_only);
}
}
}

function displaySingleCatChooser($ad_id,$conf,$option,$cats,$catid,$itemid)
{

if (($ad_id != "")&&
  file_exists( JPATH_BASE . "/components/com_paidsystem/api.paidsystem.php"))
{
$display_current_cat_only = 1;
$this->selectCategories(0,"",$cats,$catid,$conf->root_allowed,""/*$link*/,$display_current_cat_only);
}
else
{
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function jumpmenu(target,obj,restore){
  eval(target+".location='"+obj.options[obj.selectedIndex].value+"'");
  obj.options[obj.selectedIndex].innerHTML="<?php echo JText::_('ADSMANAGER_WAIT');?>";
}
//-->
</script>

<?php
/*my*/
$parcat=-1;
if ($catid <> 0){
$keys=array_keys($cats);
$count = count($keys);
for ($i = 0; $i < $count; $i++) {
foreach ($cats[$keys[$i]] as $row){
if ($row->id==$catid) $parcat=$row->parent;
}
}

}
?>
<select name="ParentCats" id="parentcats">
<?php
echo "<option class='select' value='select' selected=selected>".JText::_('ADSMANAGER_SELECT_CATEGORY')."</option>";
foreach ($cats[0] as $row) {
$selected='';
if ($row->id == $parcat) $selected= "selected='selected'";
echo '<option value="cat'.$row->id.'" '.$selected.'>'.$row->name.'</option>';
}
?>
  </select>

<select id='subcats' class='adsmanager_required' name='category_choose' onchange="jumpmenu('parent',this)">
<?php

if ((@$ad_id)&&($ad_id != ""))
$link = "index.php?option=com_adsmanager&Itemid=$itemid&task=write&id=$ad_id";
else
$link = "index.php?option=com_adsmanager&Itemid=$itemid&task=write";
/*if ($catid == 0)*/ /* не нужно т.к. при смене род.категории требуется повторно выбрать и под категорию*/
echo "<option class='select' value='select' selected=selected>".JText::_('ADSMANAGER_SELECT_CATEGORY')."</option>";
if (function_exists("selectPaidCategories"))
selectPaidCategories(0,"",$cats,$catid,$conf->root_allowed,$link,0);
else
$this->selectCategories(0,"",$cats,$catid,$conf->root_allowed,$link,0);
?>
</select>
<?php
}
}

Вроде все! Спасибо автору статьи http://www.my-article.net/get/html/select/динамические-выпадающие-списки , тут можно подробнее почитать о технике
сделал все как написано. все получилось, спасибо!
но есть небольшая проблема в IE9 выбрать категорию можно, а под категории вообще не подгружаются
в IE8 IE9 выбрать категорию можно, выбрать под категорию можно, но под категория после загрузки страницы исчезает.
Как исправить в ads 2.6.5
*

webday

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
с вложенностью более 2-х. категорий получилось у кого-то сделать? ?
« Последнее редактирование: 09.11.2012, 22:06:00 от webday »
*

seva3401

  • Осваиваюсь на форуме
  • 34
  • 1 / 1
сделал все как написано. все получилось, спасибо!
но есть небольшая проблема в IE9 выбрать категорию можно, а под категории вообще не подгружаются
в IE8 IE9 выбрать категорию можно, выбрать под категорию можно, но под категория после загрузки страницы исчезает.
Как исправить в ads 2.6.5

а у меня вот проблема почему то...сделал всё как указано, но при добавлении объявления никаких изменений не произошло. обновлял страницу - толку нет. всё так же. сайт telefon.tomsk.ru
помогите, кто знает как решить, пожалуйста, очень бы хотелось заменить стандартный вид добавления...заранее спасибо!
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
а у меня вот проблема почему то...сделал всё как указано, но при добавлении объявления никаких изменений не произошло. обновлял страницу - толку нет. всё так же. сайт telefon.tomsk.ru
помогите, кто знает как решить, пожалуйста, очень бы хотелось заменить стандартный вид добавления...заранее спасибо!
В админке Количество категорий должно равняться 1
*

seva3401

  • Осваиваюсь на форуме
  • 34
  • 1 / 1
В админке Количество категорий должно равняться 1
а остальное как? т.е. примерно так:?

Категория 1
 - категория 01
 - - подкатегория 01
 - - подкатегория 02
 - - подкатегория 03
 - категория 02
 - - подкатегория 04
 - - подкатегория 05
 - - подкатегория 06
 - категория 03
 - - подкатегория 07
 - - подкатегория 08
 - - подкатегория 09
 - категория 04

а не так как у меня сейчас на сайте:
Категория 1
- подкатегория 1
- подкатегория 2
Категория 2
- подкатегория 3
- подкатегория 4

ага?
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
делал для адс 2.7
вроде всё сделал правильно.категории и под категории в разных селекторах, но пишет вот такую матюхню
"Warning: Missing argument 6 for AdsmanagerViewEdit::displaySingleCatChooser(), called in ........components/com_adsmanager/views/edit/tmpl/default.php on line 334 and defined in ........components/com_adsmanager/views/edit/view.html.php on line 308
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
lovivolnu, просто в function displaySingleCatChooser($ad_id,$conf,$option,$cats,$catid,$Itemid) уберите $Itemid (и запятую перед ней), ну и в $link тоже сотрите все упоминания )))
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
делал для адс 2.7
вроде всё сделал правильно.категории и под категории в разных селекторах, но пишет вот такую матюхню
"Warning: Missing argument 6 for AdsmanagerViewEdit::displaySingleCatChooser(), called in ........components/com_adsmanager/views/edit/tmpl/default.php on line 334 and defined in ........components/com_adsmanager/views/edit/view.html.php on line 308

в ADS 2.7 сделали (или начали делать) последовательный вывод селектов для вложеных категорий при добавлении объявления, правда у них работает только под ФФ, т.к. лишние option они скрывают как display:hidden, а оно не работает кроме как для ФФ. Пришлось поковырять, что бы для всех браузеров работало.

[вложение удалено Администратором]
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Пришлось поковырять, что бы для всех браузеров работало.
Расскажите что делать?
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
Расскажите что делать?
работаем с components\com_adsmanager\views\edit\view.html.php версия ADS 2,7
Еще раз подчеркну эту функцию, видимо, разработчики только доделывают, по этому сохраните свой файл перед заменой на этот (для отката если что).
Функцию autocomplit уже оценили? она видно в админке включается
if ($conf->autocomplete) {тут вызывается}
а вот функция сплитования категорий по селектам в админке не включается (видимо появиться к следующему релизу в 2,7,5 или 2,8 )
if (@$toto == 1){ тут вызывается} // строка 374 в моем файле
по этому пришлось жестко включать её
if (@$toto == 1 || 1){}
после включения все заработает, НО только в ФФ, другие браузеры не понимают скрытия <option> для селектов, в аттаче файл с доделанным скриптом там <option> удаляются и восстанавливаются, по этому все работает. Тестировалось в IE, Opera, FF, а так же тестировал с деревом категорий в 3-и уровня. НО такой момент, дерево должно быть РОВНЫМ, т.е. если 3 уровня, то в каждой ветке должно быть 3 уровня.
Код
cat1 
   cat11
      cat111
cat2
   cat22

работать не будет т.к. юзер выбрав cat2 затем cat22, и упрется в 3ий селект, а он пустой. Селектов 3 т.к. по подсчету скрипта 3 уровня есть в одной из веток.

cat1
   cat11
      cat111
cat2
   cat22
      cat222
а так работать будет норм
Ну этот нюанс, думаю, сами разработчики устранят потом, мне не нужно, у самого 2 уровня только по всему дереву...

Хак тут http://pozitiv-studio.ru/view.html.zip
*

grinat

  • Захожу иногда
  • 356
  • 34 / 2
Интересно сделано. По моему в таких случаях проще перевести все дерево категорий в json, и затем просто циклично по нему проходиться и создавать ветки с select, по крайней мере я так сделал. В этом случае никаких ограничений нет, и решение 100% кроссбраузерное.
*

vitamax

  • Осваиваюсь на форуме
  • 46
  • 2 / 0
работаем с components\com_adsmanager\views\edit\view.html.php версия ADS 2,7
Еще раз подчеркну эту функцию, видимо, разработчики только доделывают, по этому сохраните свой файл перед заменой на этот (для отката если что).
Функцию autocomplit уже оценили? она видно в админке включается
if ($conf->autocomplete) {тут вызывается}
а вот функция сплитования категорий по селектам в админке не включается (видимо появиться к следующему релизу в 2,7,5 или 2,8 )
if (@$toto == 1){ тут вызывается} // строка 374 в моем файле
по этому пришлось жестко включать её
if (@$toto == 1 || 1){}
после включения все заработает, НО только в ФФ, другие браузеры не понимают скрытия <option> для селектов, в аттаче файл с доделанным скриптом там <option> удаляются и восстанавливаются, по этому все работает. Тестировалось в IE, Opera, FF, а так же тестировал с деревом категорий в 3-и уровня. НО такой момент, дерево должно быть РОВНЫМ, т.е. если 3 уровня, то в каждой ветке должно быть 3 уровня.
Код
cat1 
   cat11
      cat111
cat2
   cat22

работать не будет т.к. юзер выбрав cat2 затем cat22, и упрется в 3ий селект, а он пустой. Селектов 3 т.к. по подсчету скрипта 3 уровня есть в одной из веток.

cat1
   cat11
      cat111
cat2
   cat22
      cat222
а так работать будет норм
Ну этот нюанс, думаю, сами разработчики устранят потом, мне не нужно, у самого 2 уровня только по всему дереву...

Хак тут http://pozitiv-studio.ru/view.html.zip

как всё же решить проблему с разной длиной веток?
*

vitamax

  • Осваиваюсь на форуме
  • 46
  • 2 / 0
может в 2.8 эту проблему решили? кто смотрел уже?
*

vitamax

  • Осваиваюсь на форуме
  • 46
  • 2 / 0
Люди, есть же реализация. Нужно только как-то отловить глубину ветки с категорией. Кто уже сталкивался с такой проблемой?
*

ruslanshvedov91

  • Новичок
  • 7
  • 0 / 0
Спасибо за файл view. Помогло с разбивкой на категории, подкатегории и подподкатегории при создании объявления. Можно ли такое провернуть в кратком поиске? Имею в виду - создать дополнительное поле подкатегорий и подподкатегорий?

В 2.8 эта проблема решена.

К сведению, если у кого такое будет. Установил версию 2.8 (с русским переводом), в которой краткий поиск барахлит: какие бы значения не были выставлены в нём - выдаёт в результате все объявления. Проблему решил установкой другой версии (с иностранным языком, но перевод всё равно есть (лично у меня, от AdsManager 2.7).
« Последнее редактирование: 15.04.2013, 22:33:52 от ruslanshvedov91 »
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Спасибо за файл view. Помогло с разбивкой на категории, подкатегории и подподкатегории при создании объявления. Можно ли такое провернуть в кратком поиске? Имею в виду - создать дополнительное поле подкатегорий и подподкатегорий?

В 2.8 эта проблема решена.

К сведению, если у кого такое будет. Установил версию 2.8 (с русским переводом), в которой краткий поиск барахлит: какие бы значения не были выставлены в нём - выдаёт в результате все объявления. Проблему решил установкой другой версии (с иностранным языком, но перевод всё равно есть (лично у меня, от AdsManager 2.7).
Так и есть.
Устанавливать нужно 2.8 с офф сайта.
Перевод здесь присутсвует (ищите темку). Перевод ставится отдельно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Выбор марки>модели автомобиля

Автор THE KILLERS

Ответов: 16
Просмотров: 5629
Последний ответ 06.05.2025, 22:24:58
от Matzzz
Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 4316
Последний ответ 09.07.2019, 10:10:59
от guardnext
Изменить категории в AdsManager 3.1.5

Автор Doc

Ответов: 2
Просмотров: 10758
Последний ответ 17.03.2019, 21:17:30
от Doc
Как сделать сортировку объявдений в AdsManager

Автор Olegarh

Ответов: 9
Просмотров: 15990
Последний ответ 03.06.2018, 22:59:57
от Sabotage
AdsManager - как сделать несколько адресов?

Автор Ksenia2009

Ответов: 0
Просмотров: 11763
Последний ответ 21.04.2018, 15:13:44
от Ksenia2009