Новости Joomla

joomLab Gallery - плагин галереи изображений для Joomla

👩‍💻 joomLab Gallery - плагин галереи изображений для Joomla.Плагин joomLab Gallery позволит Вам добавлять в любой материал неограниченное количество галерей, а главное удобно управлять файлами и эффектами в каждой галерее.Плагин использует популярны скрипты Swiper.js и FancyBox. Первый для крутой организации и эффектов галерей, а второй для красивого и функционального показа оригинальных изображений на Вашем сайте.На данный момент плагин имеет 10 макетов вывода - это 10 различных эффектов галерей и Вы можете совмещать все 10 в 1 материале.Плагин позволяет гибко настраивать индивидуально каждую галерею в материале. Вы можете выбрать макет, эффекты и даже можете управлять функциями всплывающего окна изображения.Недостатки.Такой вид реализации не предусматривает выбор изображения на сервере. Т.е. Вы не можете выбрать уже добавленное фото, только загружать заново. Плагин не предоставляет возможности доступа к медиа-менеджеру.Плагин бесплатный. Разработчик - участник нашего сообщества Александр Новиков (@pro-portal).Страница расширения@joomlafeed#joomla #расширения

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla 🖨Ну что, интересная инициатива от @webtolkru в виде интервью с разными участниками весьма меня увлекла. Я, вооружившись данным примером, решил подготовить выпуск для NorrNext (@norrnext) и экстраполировал идею на международный масштаб. Теперь готовлю эксклюзивный выпуск с участниками Joomla сообщества со всего мира, которые, в той или иной мере, внесли свой вклад в развитие и популяризацию системы. Будут беседы с людьми из разных стран и фото с юбилейной символикой 📸Работа в процессе 👆 📝О результатах оповещу отдельно.

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

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Решена проблема вывода определенных полей только зарегистрированным пользователям, т.е. в поле чекбокс, и если он установлен, то данное поле будет отображаться только зарегистрированным пользователям.
К примеру, оптовая цена может выводиться только для диллеров, или же прикрепленный файл виден только зарегистрированным пользователям (диллерам).

Тестировалось на AdsManager 2.5 RC2

После внесения изменений (см. ниже) в редактировании и создании новых полей появляется возможность

1. Создается в базе столбец reguser с типом INT в таблице adsmanager_fields
2. В коде admin.adsmanager.html.php в функции editfield после строк
Код
<tr>
<td width="20%"><?php echo ADSMANAGER_FIELD_TYPE;?></td>
<td width="20%"><?php echo $lists['type']; ?></td>
<td>&nbsp;</td>
</tr>
вставляем
Код
<tr>
<td width="20%">Reg users?:</td>
<td align=left  width="20%"><input type="checkbox" name="reguser" <?php if($row->reguser==1) {?>checked <?php } ?>value="1" /></td>
<td>&nbsp;</td>
</tr>

3. В файле adsmanager.class.php добавляется в класс adsManagerField
Код
var $reguser=null;

4. В файле adsmanager.html.php замените функцию showFieldValue на приведенную ниже:
Код
function showFieldValue($row,$field,$field_values,$email_display,$option,$itemid,$mode,$plugins)
{
global $mosConfig_live_site,$mosConfig_absolute_path, $my;

if($my->id==0 && $field->reguser!=1) {

if ((strpos($field->catsid, ",$row->catid,")!== false)||(strpos($field->catsid, ",-1,")!== false))
{

if (($field->type != 'checkbox')&&(($field->display_title & $mode) == $mode))
{
echo adsmanager_html::getLangDefinition($field->title).": ";
}

if ($field->title)
$name = $field->name;

$value = "";
$value = "\$row->".$field->name;
eval("if (isset($value)) \$value = \"$value\";");
$value = adsmanager_html::getLangDefinition($value);
switch($field->type)
{
case 'checkbox':
if (($field->display_title & $mode) == $mode)
{
echo adsmanager_html::getLangDefinition($field->title);
if ($value == 1)
echo ":&nbsp;".ADSMANAGER_YES."<br />";
else
echo ":&nbsp;".ADSMANAGER_NO."<br />";
}
else if ($value == 1)
{
echo adsmanager_html::getLangDefinition($field->title)."<br />";
}
break;

case 'multicheckbox':
case 'multicheckboximage':

for($i=0,$nb=count($field_values[$field->fieldid]);$i < $nb ;$i++)
{
$fieldvalue = @$field_values[$field->fieldid][$i]->fieldvalue;
$fieldtitle = @$field_values[$field->fieldid][$i]->fieldtitle;

if (strpos($value, $fieldvalue)!== false)
{
if ($field->type == 'multicheckbox')
$return = adsmanager_html::getLangDefinition($fieldtitle);
else
$return = "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";
echo $return."<br />";
}
}

break;

case 'url':
if ((isset($field->link_text))&&($field->link_text != ""))
$linkObj = $field->link_text;
else if ((isset($field->link_image))&&(file_exists($mosConfig_absolute_path."/images/com_adsmanager/fields/".$field->link_image)))
$linkObj = "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$field->link_image."' />";
else
{
$linkObj = $value;
}
if ($value != "")
{
$return = "<a href='http://$value' target='_blank'>$linkObj</a>";
}
echo $return;
break;

case 'date':
$return = $value;
echo $return;
break;

case 'select':
if (isset($field_values[$field->fieldid])) {
foreach($field_values[$field->fieldid] as $v)
{
if ($value == $v->fieldvalue)
{
echo adsmanager_html::getLangDefinition($v->fieldtitle)."<br />";
}
}
}
break;

case 'multiselect':
if (isset($field_values[$field->fieldid])) {
foreach($field_values[$field->fieldid] as $v)
{
if (strpos($value, ",".$v->fieldvalue.",") === false)
{
}
else
{
echo adsmanager_html::getLangDefinition($v->fieldtitle)."<br />";
}
}
}
break;

case 'emailaddress':
if ($value != "")
{
switch($email_display) {
case 2:
$emailForm = sefRelToAbs("index.php?option=$option&amp;page=show_message_form&amp;mode=0&amp;adid=".$row->id."&amp;Itemid=".$itemid);
echo '<a href="'.$emailForm.'">'.ADSMANAGER_EMAIL_FORM.'</a><br />';
break;
case 1:
echo adsmanager_html::Txt2Png($value,$option);
break;
default:
echo ADSMANAGER_FORM_EMAIL.": <a href='mailto:".$value."'>".adsmanager_html::cutLongWord($value)."</a>";
break;

}
}
break;

case 'textarea':
echo adsmanager_html::cutLongWord(str_replace(array("\r\n", "\n", "\r"), "<br />", $value))."<br />";
break;

case 'editor':
case 'number':
case 'text':
echo adsmanager_html::cutLongWord($value)."<br />";
break;
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,$value);

echo "<br />";
break;
case 'radio':
case 'radioimage':
for($i=0,$nb=count($field_values[$field->fieldid]);$i < $nb ;$i++)
{
$fieldvalue = @$field_values[$field->fieldid][$i]->fieldvalue;
$fieldtitle = @$field_values[$field->fieldid][$i]->fieldtitle;
if ($value == $fieldvalue)
{
if ($field->type == 'radio')
$return = $fieldtitle;
else
$return = "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";
echo $return;
}
}
break;
case 'file':
if ($value != "")
{
echo "<a href='$mosConfig_live_site/images/com_adsmanager/files/$value' target='_blank'>".ADSMANAGER_DOWNLOAD_FILE."</a></b>";
echo "<br />";
}
break;

default:

if (isset($plugins[$field->type]))
{
if ($mode == 1)
$return = $plugins[$field->type]->getListDisplay($row->id,$field );
else
$return = $plugins[$field->type]->getDetailsDisplay($row->id,$field );
echo $return;
}

break;
}
}
}
else if($my->id) {
if ((strpos($field->catsid, ",$row->catid,")!== false)||(strpos($field->catsid, ",-1,")!== false))
{

if (($field->type != 'checkbox')&&(($field->display_title & $mode) == $mode))
{
echo adsmanager_html::getLangDefinition($field->title).": ";
}

if ($field->title)
$name = $field->name;

$value = "";
$value = "\$row->".$field->name;
eval("if (isset($value)) \$value = \"$value\";");
$value = adsmanager_html::getLangDefinition($value);
switch($field->type)
{
case 'checkbox':
if (($field->display_title & $mode) == $mode)
{
echo adsmanager_html::getLangDefinition($field->title);
if ($value == 1)
echo ":&nbsp;".ADSMANAGER_YES."<br />";
else
echo ":&nbsp;".ADSMANAGER_NO."<br />";
}
else if ($value == 1)
{
echo adsmanager_html::getLangDefinition($field->title)."<br />";
}
break;

case 'multicheckbox':
case 'multicheckboximage':

for($i=0,$nb=count($field_values[$field->fieldid]);$i < $nb ;$i++)
{
$fieldvalue = @$field_values[$field->fieldid][$i]->fieldvalue;
$fieldtitle = @$field_values[$field->fieldid][$i]->fieldtitle;

if (strpos($value, $fieldvalue)!== false)
{
if ($field->type == 'multicheckbox')
$return = adsmanager_html::getLangDefinition($fieldtitle);
else
$return = "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";
echo $return."<br />";
}
}

break;

case 'url':
if ((isset($field->link_text))&&($field->link_text != ""))
$linkObj = $field->link_text;
else if ((isset($field->link_image))&&(file_exists($mosConfig_absolute_path."/images/com_adsmanager/fields/".$field->link_image)))
$linkObj = "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$field->link_image."' />";
else
{
$linkObj = $value;
}
if ($value != "")
{
$return = "<a href='http://$value' target='_blank'>$linkObj</a>";
}
echo $return;
break;

case 'date':
$return = $value;
echo $return;
break;

case 'select':
if (isset($field_values[$field->fieldid])) {
foreach($field_values[$field->fieldid] as $v)
{
if ($value == $v->fieldvalue)
{
echo adsmanager_html::getLangDefinition($v->fieldtitle)."<br />";
}
}
}
break;

case 'multiselect':
if (isset($field_values[$field->fieldid])) {
foreach($field_values[$field->fieldid] as $v)
{
if (strpos($value, ",".$v->fieldvalue.",") === false)
{
}
else
{
echo adsmanager_html::getLangDefinition($v->fieldtitle)."<br />";
}
}
}
break;

case 'emailaddress':
if ($value != "")
{
switch($email_display) {
case 2:
$emailForm = sefRelToAbs("index.php?option=$option&amp;page=show_message_form&amp;mode=0&amp;adid=".$row->id."&amp;Itemid=".$itemid);
echo '<a href="'.$emailForm.'">'.ADSMANAGER_EMAIL_FORM.'</a><br />';
break;
case 1:
echo adsmanager_html::Txt2Png($value,$option);
break;
default:
echo ADSMANAGER_FORM_EMAIL.": <a href='mailto:".$value."'>".adsmanager_html::cutLongWord($value)."</a>";
break;

}
}
break;

case 'textarea':
echo adsmanager_html::cutLongWord(str_replace(array("\r\n", "\n", "\r"), "<br />", $value))."<br />";
break;

case 'editor':
case 'number':
case 'text':
echo adsmanager_html::cutLongWord($value)."<br />";
break;
case 'price':
if ($value != "")
echo sprintf(ADSMANAGER_DEVICE,$value);

echo "<br />";
break;
case 'radio':
case 'radioimage':
for($i=0,$nb=count($field_values[$field->fieldid]);$i < $nb ;$i++)
{
$fieldvalue = @$field_values[$field->fieldid][$i]->fieldvalue;
$fieldtitle = @$field_values[$field->fieldid][$i]->fieldtitle;
if ($value == $fieldvalue)
{
if ($field->type == 'radio')
$return = $fieldtitle;
else
$return = "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";
echo $return;
}
}
break;
case 'file':
if ($value != "")
{
echo "<a href='$mosConfig_live_site/images/com_adsmanager/files/$value' target='_blank'>".ADSMANAGER_DOWNLOAD_FILE."</a></b>";
echo "<br />";
}
break;

default:

if (isset($plugins[$field->type]))
{
if ($mode == 1)
$return = $plugins[$field->type]->getListDisplay($row->id,$field );
else
$return = $plugins[$field->type]->getDetailsDisplay($row->id,$field );
echo $return;
}

break;
}
}
}
}
« Последнее редактирование: 18.12.2009, 22:13:30 от GlooM »
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Для наглядности приложил две картинки:
1-ая отображает состояние объявления в момент, когда пользователь не авторизовался, 2-ая — когда авторизовался.
Красным подчеркнул то место, где происходят изменения.

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

DK-Scorp

  • Захожу иногда
  • 235
  • 6 / 0
  • Всегда готов! К чему только....? ХЗ.....
Уважаемый GlooM, а можно поподробней пункт №1?

В какой таблице создать? (Я так понял что надо создать поле reguser, может не догнал чего?)
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Уважаемый GlooM, а можно поподробней пункт №1?

В какой таблице создать? (Я так понял что надо создать поле reguser, может не догнал чего?)
Забыл написать :)
в таблице adsmanager_fields
*

DK-Scorp

  • Захожу иногда
  • 235
  • 6 / 0
  • Всегда готов! К чему только....? ХЗ.....
2. В коде admin.adsmanager.html.php в функции editfield
Код
<tr>
<td width="20%">Reg users?:</td>
<td align=left  width="20%"><input type="checkbox" name="reguser" <?php if($row->reguser==1) {?>checked <?php } ?>value="1" /></td>
<td>&nbsp;</td>
</tr>


пОПОДРОБНЕЙ МОЖНО ЧЕТ НЕ ВЫШЛО НИХРЕНА, КУДА ВСТАЛЯТЬ СТРОКУ С ТАБЛИЦЕЙ В ФУНКЦИИ, УЕХАЛ  ШАБ И ЭФФЕКТА НОЛЬ :-(
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Так,
пОПОДРОБНЕЙ МОЖНО ЧЕТ НЕ ВЫШЛО НИХРЕНА, КУДА ВСТАЛЯТЬ СТРОКУ С ТАБЛИЦЕЙ В ФУНКЦИИ, УЕХАЛ  ШАБ И ЭФФЕКТА НОЛЬ :-(
Итак, подробнее.
Идете в administrator/components/com_adsmanager/ там файл admin.adsmanager.html.php
в нем находите
Код
<tr>
<td width="20%"><?php echo ADSMANAGER_FIELD_TYPE;?></td>
<td width="20%"><?php echo $lists['type']; ?></td>
<td>&nbsp;</td>
</tr>
и ниже этого кода вставляете
Код
<tr>
<td width="20%">Reg users?:</td>
<td align=left  width="20%"><input type="checkbox" name="reguser" <?php if($row->reguser==1) {?>checked <?php } ?>value="1" /></td>
<td>&nbsp;</td>
</tr>
*

DK-Scorp

  • Захожу иногда
  • 235
  • 6 / 0
  • Всегда готов! К чему только....? ХЗ.....
О, БИГ СЕНКЬЮ, а я прям в функцию пихал :laugh:
*

DK-Scorp

  • Захожу иногда
  • 235
  • 6 / 0
  • Всегда готов! К чему только....? ХЗ.....
Попробую сборку сделать, еще бы капчу в 1.0.хх прикрутить, смотрю тоже на жустинке сидите ?
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Попробую сборку сделать, еще бы капчу в 1.0.хх прикрутить, смотрю тоже на жустинке сидите ?
Да, работаем с joostina :)
Сейчас собрали уже 4 сборки различных.
С капчей на след. неделе разберусь.
*

DK-Scorp

  • Захожу иногда
  • 235
  • 6 / 0
  • Всегда готов! К чему только....? ХЗ.....
Уважаемый GlooM, капчу побороли ?
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Ох, признаюсь, забыл :)
Постараюсь на неделе, сейчас работы много
*

DK-Scorp

  • Захожу иногда
  • 235
  • 6 / 0
  • Всегда готов! К чему только....? ХЗ.....
Блин, все работает, но столкнулся со следующим вопросом:
Нерегенный/неавторизованный юзер с фронта добавляет объяву
и тут видны все поля, а по моей логике их бы тоже спрятать,
естественно эти поля не должны быть обязательными дабы объява без проблем сохранилась
рыл show_write_form пока не найду куда бы вставить :-(
*

DT3

  • Осваиваюсь на форуме
  • 44
  • 5 / 0
а как сделать показ только для хозяина объявления
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
я так понял чтобы спрятать пункты на вводе все тоже самое только в adsmanager.html.php в другую функцию сие конструктив вставить ( displayFields)?
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
+
забираю переделал для вывода полей при заполнении.
С фантазией плохо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 3735
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 14249
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 2994
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 13324
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 28519
Последний ответ 27.03.2020, 22:32:04
от Pavel