Новости Joomla

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

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

Долгое время у всех был немой вопрос: "Как же теперь оценивать эффективность сайта?". Теперь этот на этот вопрос отчасти отвечает новый инструмент аналитики.
Процитируем справку Яндекса по инструменту:
На запросы пользователей в Поиске может отвечать Алиса AI. Ответы появляются в поисковой выдаче, в объектных ответах и на отдельной вкладке Поиска. В них чаще всего упоминаются страницы сайтов, на которые Алиса AI опиралась при подготовке ответа.

С помощью инструмента Видимость сайта в Алисе AI в Яндекс Вебмастере вы можете:
- узнать долю упоминаний сайта среди источников в ответах Алисы AI в Поиске и отследить динамику изменений;
- посмотреть примеры запросов, по которым страницы сайта показываются в ответах Алисы AI;
- посмотреть примеры сайтов той же тематики, которые часто упоминаются в генеративной выдаче.
Данные отображаются за последние 3 месяца и обновляются каждую неделю.

Статистика собирается только по тем запросам, по которым ваш сайт уже находится достаточно высоко в поисковой выдаче. Это позволяет анализировать видимость именно в той нише, где вы заинтересованы в продвижении, и избегать «размытия» по малозначимым для вас запросам.

Кроме того, такой подход обусловлен работой Алисы AI: она строит ответ с опорой на самые релевантные, информативные и качественные страницы, которые обычно занимают высокие позиции в Поиске.

Чтобы увидеть статистику вашего сайта в меню Яндекс.Вебмастера перейдите в раздел "Эффективность" и далее в "Показы сайта в Алисе AI".

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

Показы сайта в Алисе AI в вашем Яндекс,Вебмастере.

@joomlafeed

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

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

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Опять "быдлокод" (Component EA Improved v 2.5.1 for Joomla 2.5.x) За что спрашивается платить деньги разработчику, если компонент предназначенный для Joomla 2.5 имеет гребаную архитектуру, кучу внутренних ошибок и реально заточен только на англоязычного пользователя.
Системы создания алиасов вообще нет. Есть только говеная система псевдоалиасов, которые генерятся на основе названия.

Мое мнение, после доработки данного компонента, я его выложу в свободный доступ. И пусть разработчики идут на йух!

Если вы сами не можете сделать изменения или еще какие трудности, то помощь сугубо платная.
« Последнее редактирование: 04.07.2012, 21:25:13 от Фей »
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #1 : 29.06.2012, 12:43:47 »
Решение с алиасами:
каталог \administrator\components\com_estateagent\tables
файлы category.php, type.php, property.php

Находим в функции check() код
Код
if(function_exists("mb_internal_encoding")) mb_internal_encoding("UTF-8");
        if(function_exists("mb_strtolower")){
$this->alias = trim(mb_strtolower($this->alias));
}else{
$this->alias = trim(strtolower($this->alias));
}
       
$this->alias = str_replace('-', ' ', $this->alias);
       
if(function_exists("mb_ereg_replace")){
$this->alias = mb_ereg_replace('[[:space:]]+', ' ', $this->alias);
}else{
$this->alias = ereg_replace('[[:space:]]+', ' ', $this->alias);
}

        $this->alias = trim(str_replace(' ', '-', $this->alias));
        $this->alias = str_replace('.', '', $this->alias);
$this->alias = str_replace("'", '-', $this->alias);
       
        $stripthese = ',|~|!|@|%|^|(|)|<|>|:|;|{|}|[|]|&|`|â?ž|â?¹|â?™|â?˜|â?œ|â?�|â?¢|â?º|«|´|»|°|\|/|*|$|#|+';
        $strips = explode('|', $stripthese);
        foreach ($strips as $strip) {
            $this->alias = str_replace($strip, '', $this->alias);
        }


//$this->alias = JFilterOutput::stringURLSafe($this->alias);
if(trim(str_replace('-','',$this->alias)) == '') {
$datenow =& JFactory::getDate();
$this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
}
и убираем его нафиг!

вместо него ставим
Код
		$this->alias = JApplication::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '')
{
$this->alias = JFactory::getDate()->format('Y-m-d-H-i-s');
}

Сохраняете и получаете нормальные алиасы.
*

gavruwa

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #2 : 29.06.2012, 19:24:37 »
Ну я вот купил себе лицензию и плююсь. Много чего приходится переделывать, а мне еще мешает отсутствие знаний PHP. Но факт того, что на frontpage нельзя сделать вывод категорий в 3 столбца, т.к. "There is option only for one or two columns from the configuration" (с) support на форуме. Ну ничего, я все равно сделал 3 колонки, но сам факт.
« Последнее редактирование: 29.06.2012, 20:10:13 от gavruwa »
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #3 : 29.06.2012, 21:20:07 »
дикий роутинг :)
/katalog-usadeb/property/1/usadba-apelsin-kadinskij-selsovet-d-lyubuzh.html
вот зачем мне этот мусор (/property/1)?
причем 1 это id объявления!
и usadba-apelsin-kadinskij-selsovet-d-lyubuzh это уже алиас объявления, причем после правок из моего второго поста. Иначе полный бред в виде усадьба-апельсин-кадинский....
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #4 : 29.06.2012, 21:33:43 »
Ну я вот купил себе лицензию и плююсь. Много чего приходится переделывать, а мне еще мешает отсутствие знаний PHP. Но факт того, что на frontpage нельзя сделать вывод категорий в 3 столбца, т.к. "There is option only for one or two columns from the configuration" (с) support на форуме. Ну ничего, я все равно сделал 3 колонки, но сам факт.

поделись решением )))
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #5 : 29.06.2012, 21:37:55 »
Дальнейшее расширение!
Добавил кучу информационных полей через отдельный XML. Информация обрабатывается как в админке,так и на фронте.
Предупреждаю! Это не куча доп.полей в БД или отдельная таблица. Создано через доп. поле типа params и все эти значения хранятся там. Пока такое решение, позже может будет иначе.
*

gavruwa

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #6 : 30.06.2012, 00:13:56 »
поделись решением )))

Делюсь:

1 - estateagent.css (www\realty\components\com_estateagent\assets\estateagent.css)

Код
.ea_category_box{
float:left;
/* Original --> width:47%;*/
width:24%;
/*height:220px;*/
margin:1px;
/* Original --> padding:4px;*/
padding:2px;
-webkit-border-radius: 2px;
border: 0px solid #ccc;
position:relative;

2 - categories.html.php   (www\realty\components\com_estateagent\html)

Код
// Original --> if($x%2==0)
if($x%4==0) echo "<div class=\"ea_clearboth ea_category_bottomborder".$box."\"></div>";
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #7 : 01.07.2012, 17:56:33 »
дикий роутинг :)
/katalog-usadeb/property/1/usadba-apelsin-kadinskij-selsovet-d-lyubuzh.html
вот зачем мне этот мусор (/property/1)?
причем 1 это id объявления!
и usadba-apelsin-kadinskij-selsovet-d-lyubuzh это уже алиас объявления, причем после правок из моего второго поста. Иначе полный бред в виде усадьба-апельсин-кадинский....
Поделись решением как избавиться от этого мусора, если оно есть.
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #8 : 01.07.2012, 17:58:17 »
Дальнейшее расширение!
Добавил кучу информационных полей через отдельный XML. Информация обрабатывается как в админке,так и на фронте.
Предупреждаю! Это не куча доп.полей в БД или отдельная таблица. Создано через доп. поле типа params и все эти значения хранятся там. Пока такое решение, позже может будет иначе.
Посмотреть где можно? Ссылочку плиз...
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #9 : 01.07.2012, 18:05:52 »
В версии 2.5 разработчики модуль "mod_ea_categories" вообще не предусмотрели.  :laugh: Ручками теперь ваять?
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #10 : 01.07.2012, 19:24:35 »
Спойлер
[свернуть]
Вот вид добавленных сервисов, но не всех, в режиме редактирования объявления.
В админке тоже самое. На фронте выводится практически та же инфа, но уже в текстовом виде и только выбранные (указанные) параметры.

В версии 2.5 разработчики модуль "mod_ea_categories" вообще не предусмотрели.  :laugh: Ручками теперь ваять?

Дааа, это точно! Но у них там типа подчиненность категорий в новой версии имеется и видать ума не хватило сделать модуль.

Меня сейчас волнует один вопрос! Мне на сами объявления нужны короткие ссылки. К примеру такого плана: site.ru/usabda.html
Сейчас они  дикие нереально.
Варианты решения:
1. создать меню и в него автоматом генерить пункты меню со ссылкой на созданное объявление. 100% рабочий вариант.
2. сделать свой плагин роутинга, типа HP-router, но надо ли ) Да и внутренние линки отслеживать...
3. пока ничего не придумал
« Последнее редактирование: 01.07.2012, 19:31:14 от Фей »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: EstateAgent Improved за что платить деньги?
« Ответ #11 : 01.07.2012, 20:01:34 »
Сугубо личное мнение - для компонента объявлений алиасы объявлений - ненужное излишество. id достаточно
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #12 : 01.07.2012, 20:05:16 »
Сугубо личное мнение - для компонента объявлений алиасы объявлений - ненужное излишество. id достаточно

Сугубо лично согласен ) Но тут пришлось править алиасы.
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #13 : 02.07.2012, 14:17:58 »
Вот вид добавленных сервисов, но не всех, в режиме редактирования объявления.
В админке тоже самое. На фронте выводится практически та же инфа, но уже в текстовом виде и только выбранные (указанные) параметры.

А сколько стоит поделиться такой доработкой?
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #14 : 04.07.2012, 10:20:20 »
А сколько стоит поделиться такой доработкой?
Стукнись ко мне в аську. Я тебе покажу где это работает и объясню суть. Если пойдет, то скину тебе инфу.
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #15 : 04.07.2012, 13:25:07 »
Стукнись ко мне в аську.
Стучусь но неудачно. В какое время лучше стучаться?
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #16 : 04.07.2012, 14:23:32 »
Начинаю выкладывать понемногу код.

Если вы сами не можете сделать изменения или еще какие трудности, то помощь сугубо платная.

/administrator/components/com_estateagent/actions/config/service.xml
типы полей формы смотрим здесь http://docs.joomla.org/Form_field и добавляем те, что нужны вам.
Код
<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="service">
        <fieldset name="service1">
            <field type="spacer" name="spacer" label="_EAB_INF_TYPE0" />
            <field name="language_ru" type="checkbox"
               label="_EAB_LANG_RU" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_ml" type="checkbox"
               label="_EAB_LANG_ML" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_it" type="checkbox"
               label="_EAB_LANG_IT" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_en" type="checkbox"
               label="_EAB_LANG_EN" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_pl" type="checkbox"
               label="_EAB_LANG_PL" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_de" type="checkbox"
               label="_EAB_LANG_DE" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_fr" type="checkbox"
               label="_EAB_LANG_FR" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_rm" type="checkbox"
               label="_EAB_LANG_RM" description=""
               default="0" value="1"
               >
            </field>
            <field name="language_etc" type="text"
               label="_EAB_LANG_ETC" description=""
               size="15"
               maxLength="15"
               >
            </field>
        </fieldset>
        <fieldset name="service2">
            <field type="spacer" name="spacer" label="_EAB_INF_TYPE1" />
            <field name="spec_skating" type="checkbox"
               label="_EAB_SPEC_TYPE1" description=""
               default="0" value="1"
               >
            </field>

            <field name="spec_fishing" type="checkbox"
               label="_EAB_SPEC_TYPE2" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_hunting" type="checkbox"
               label="_EAB_SPEC_TYPE3" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_seminar" type="checkbox"
               label="_EAB_SPEC_TYPE4" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_parties" type="checkbox"
               label="_EAB_SPEC_TYPE5" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_horses" type="checkbox"
               label="_EAB_SPEC_TYPE6" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_health" type="checkbox"
               label="_EAB_SPEC_TYPE7" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_children" type="checkbox"
               label="_EAB_SPEC_TYPE8" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_kaiting" type="checkbox"
               label="_EAB_SPEC_TYPE9" description=""
               default="0" value="1"
               >
            </field>
            <field name="spec_restoration" type="checkbox"
               label="_EAB_SPEC_TYPE10" description=""
               default="0" value="1"
               >
            </field>
        </fieldset>
        <fieldset name="service3">
            <field type="spacer" name="spacer" label="_EAB_INF_TYPE2" />
            <field name="fireside" type="checkbox"
               label="_EAB_OBJ_ETOHT" description=""
               default="0" value="1"
               >
            </field>
            <field name="telephone" type="checkbox"
               label="_EAB_OBJ_ETRCE" description=""
               default="0" value="1"
               >
            </field>
            <field name="computer" type="checkbox"
               label="_EAB_OBJ_COMP" description=""
               default="0" value="1"
               >
            </field>

            <field name="dsl" type="checkbox"
               label="_EAB_OBJ_DSL" description=""
               default="0" value="1"
               >
            </field>
            <field name="seminar_room" type="checkbox"
               label="_EAB_OBJ_SEMR" description=""
               default="0" value="1"
               >
            </field>
            <field name="tv" type="checkbox"
               label="_EAB_OBJ_TV" description=""
               default="0" value="1"
               >
            </field>
        </fieldset>
        <fieldset name="service4">
            <field type="spacer" name="spacer" label="_EAB_INF_TYPE4" />
            <field name="kitchen" type="checkbox"
               label="_EAB_OBJ_KITCH" description=""
               default="0" value="1"
               >
            </field>
            <field name="sauna" type="checkbox"
               label="_EAB_OBJ_SAUNA" description=""
               default="0" value="1"
               >
            </field>

            <field name="washin_machine" type="checkbox"
               label="_EAB_OBJ_EGRDNSZ" description=""
               default="0" value="1"
               >
            </field>
            <field name="bath" type="checkbox"
               label="_EAB_OBJ_SAUNA" description=""
               default="0" value="1"
               >
            </field>
            <field name="pool" type="checkbox"
               label="_EAB_OBJ_POOL" description=""
               default="0" value="1"
               >
            </field>
        </fieldset>
        <fieldset name="service13">
            <field type="spacer" name="spacer" label="_EAB_INF_TYPE10" />
            <field name="january" type="checkbox"
               label="JANUARY_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="february" type="checkbox"
               label="FEBRUARY_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="march" type="checkbox"
               label="MARCH_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="april" type="checkbox"
               label="APRIL_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="may" type="checkbox"
               label="MAY_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="june" type="checkbox"
               label="JUNE_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="july" type="checkbox"
               label="JULY_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="august" type="checkbox"
               label="AUGUST_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="september" type="checkbox"
               label="SEPTEMBER_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="october" type="checkbox"
               label="OCTOBER_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="november" type="checkbox"
               label="NOVEMBER_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="december" type="checkbox"
               label="DECEMBER_SHORT" description=""
               default="0" value="1"
               >
            </field>
            <field name="year" type="checkbox"
               label="_EAB_ALL_YEAR" description=""
               default="0" value="1"
               >
            </field>
        </fieldset>

   </fields>
</form>
« Последнее редактирование: 04.07.2012, 14:59:23 от Фей »
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #17 : 04.07.2012, 14:40:50 »
Перевод полей добавить в /administrator/language/ru-RU/ru-RU.com_estateagent.ini и в /language/ru-RU/ru-RU.com_estateagent.ini
Код
// Сервисы
EAB_OBJ_SERVICE="Сервисы"
_EAB_NOT_SET="Не указано"
_EAB_SELSECT_SELF="Ввести самому"
_EAB_OBJ_MI0="Продукты с собой"
_EAB_OBJ_MI1="Можно купить"
_EAB_OBJ_MP0="Национальная кухня"
_EAB_OBJ_MP1="Традиционная кухня"

_EAB_OBJ_WCT0="Нет"
_EAB_OBJ_WCT1="В номере"
_EAB_OBJ_WCT2="В доме"
_EAB_OBJ_WCT3="Во дворе"

_EAB_OBJ_WTR0="Скважина"
_EAB_OBJ_WTR1="Колодец"
_EAB_OBJ_WTR2="Центр."

// Заголовки информациооных полей
_EAB_INF_TYPE0="Хозяева владеют языками"
_EAB_INF_TYPE1="Специализация усадьбы"
_EAB_INF_TYPE2="В доме есть"
_EAB_INF_TYPE3="Коммунальные удобства"
_EAB_INF_TYPE4="Возможность пользоваться"
_EAB_INF_TYPE5="Условия питания"
_EAB_INF_TYPE6="Активный отдых"
_EAB_INF_TYPE7="Рядом есть"
_EAB_INF_TYPE8="Возможность для приезжих"
_EAB_INF_TYPE9="Наличие у владельца"
_EAB_INF_TYPE10="Усадьба открыта"
_EAB_INF_TYPE11="Стоимость услуг"
_EAB_INF_TYPE12="Расстояние до (в км)"
_EAB_INF_TYPE13="Коммунальные удобства"
_EAB_INF_TYPE14="Условия питания"

// Стоимость услуг
_EAB_COST_TYPE0="Усадьба"
_EAB_COST_TYPE1="Домик"
_EAB_COST_TYPE2="За одного человека"
_EAB_COST_TYPE3="Одноместная комната"
_EAB_COST_TYPE4="Двухместная комната"
_EAB_COST_TYPE5="Трехместная комната"
_EAB_COST_TYPE6="Трансфер"
_EAB_COST_TYPE7="Одноразовое питание"
_EAB_COST_TYPE8="Двухразовое питание"
_EAB_COST_TYPE9="Трехразовое питание"
_EAB_COST_TYPE10="за одну комнату"

// Расстояния до объектов
_EAB_DISTANTION="Расстояние"
_EAB_DIST_TYPE0="Магазина"
_EAB_DIST_TYPE1="Пункта аптеки"
_EAB_DIST_TYPE2="Автостанции"
_EAB_DIST_TYPE3="Ж/д вокзала"
_EAB_DIST_TYPE4="Почты"
_EAB_DIST_TYPE5="Кафе, ресторана"
_EAB_DIST_TYPE6="Водоема"
_EAB_DIST_TYPE7="Райцентра"
_EAB_DIST_TYPE8="Столицы"

// Активный отдых
_EAB_ACT_TYPE0="Охота"
_EAB_ACT_TYPE1="Рыбалка"
_EAB_ACT_TYPE2="Дайвинг"
_EAB_ACT_TYPE3="Сбор ягод и грибов"
_EAB_ACT_TYPE4="Организация походов"
_EAB_ACT_TYPE5="Прогулки на велосипеде"
_EAB_ACT_TYPE6="Прогулки на конях"
_EAB_ACT_TYPE7="Прогулки на лыжах"
_EAB_ACT_TYPE8="Прогулки на лодке"
_EAB_ACT_TYPE9="Купание"
_EAB_ACT_TYPE10="Экскурсионные туры"
_EAB_ACT_TYPE11="Походы в музеи, на выставки"
_EAB_ACT_TYPE12="Ознакомление с народными, рел. обрядами"
_EAB_ACT_TYPE13="Ознакомление с памятками природы, архитектуры"

// Про год
_EAB_ALL_YEAR="В течении года"

// Языки владельцев
_EAB_LANG_RU="Русский"
_EAB_LANG_UA="Украинский"
_EAB_LANG_ML="Молдавский"
_EAB_LANG_ES="Испанский"
_EAB_LANG_IT="Итальянский"
_EAB_LANG_DE="Немецкий"
_EAB_LANG_EN="Английский"
_EAB_LANG_FR="Французский"
_EAB_LANG_PL="Польский"
_EAB_LANG_RM="Румынский"
_EAB_LANG_ETC="Другое"

// Специализация
_EAB_SPEC_TYPE1="Лыжи / Сноуборд"
_EAB_SPEC_TYPE2="Рыбная ловля"
_EAB_SPEC_TYPE3="Охота"
_EAB_SPEC_TYPE4="Семинары"
_EAB_SPEC_TYPE5="Вечеринки и праздники"
_EAB_SPEC_TYPE6="Конные прогулки"
_EAB_SPEC_TYPE7="Красота и здоровье"
_EAB_SPEC_TYPE8="Детский отдых"
_EAB_SPEC_TYPE9="Кайтинг / Виндсерфинг"
_EAB_SPEC_TYPE10="Восстановительный отдых"

//Условия питания
_EAB_MEAL_INDEPEND="Самостоятельное приготовление еды"
_EAB_MEAL_PREPAR="Приготовление еды владельцем усадьбы"
_EAB_MEAL_BREAD="Хозяйка выпекает хлеб"

// Рядом есть
_EAB_NEAR_CHILD="Детская площадка"
_EAB_NEAR_SPORT="Спорт площадка"

// Трансфер
_EAB_TRANSFER_GUEST="Возможность встретить гостей"
_EAB_TRANSFER_INVALID="Возможность принимать инвалидов"

// Наличие у владельца
_EAB_ANIMALS="Домашних животных"
_EAB_BEEHIVES="Пасеки"

_EA_OBJ_BEDROOM="Ванна"
_EA_OBJ_WC="Туалет"
_EA_OBJ_BATH="Душ"
_EA_OBJ_WATERSN="Водоснабжение"

// В доме есть
_EAB_OBJ_ETOHT="Камин"
_EAB_OBJ_DSL="DSL/Интернет "
_EAB_OBJ_KITCH="Кухня"
_EAB_OBJ_TV="Спутниковое/Кабельное ТВ"
_EAB_OBJ_EBLCY="Балкон"

_EAB_OBJ_ETOHTUF="Подогрев пола"
_EAB_OBJ_FIRESIDE="Тепло/шумо изоляция окон"
_EAB_OBJ_AIRCONDITION="Кондиционирование"
_EAB_OBJ_ETRCE_SHORT="Тел."

_EAB_OBJ_BATH="Баня"
_EAB_OBJ_POOL="Бассейн"

// Возможность пользоваться
_EAB_OBJ_SAUNA="Сауна"
_EAB_OBJ_EGRDNSZ="Стиральная машина"
_EAB_OBJ_ETRCE="Телефон"
_EAB_OBJ_COMP="Компьютер"
_EAB_OBJ_SEMR="Помещение для семинара"

*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #18 : 04.07.2012, 14:48:40 »
В таблицу #__estateagent добавить поле service тип TEXT

/administrator/components/com_estateagent/actions/property.estateagent.php
Функция function editProperty() в самом ее низу
Код
			//--------------------------------------------------------------------------------------

$form_service =& JForm::getInstance('com_estateagent.service', 'service');
$registry = new JRegistry;
$registry->loadString(@$obj->service);
$obj->service = $registry->toArray();
//-----------------------------
$form_service->bind($obj);

$list_forms = array();
$list_forms['form'] = $form;
$list_forms['form_service'] = $form_service;

HTML_estateagent_property::editProperty($view,$obj,$gl,$lists,$files,$list_forms);

Изначально вызов шаблона такой
HTML_estateagent_property::editProperty($view,$obj,$gl,$lists,$files,$form);
стоит заменить на
HTML_estateagent_property::editProperty($view,$obj,$gl,$lists,$files,$list_forms);
и в /administrator/components/com_estateagent/html/property.estateagent.html.php
изменить параметры функции
function editProperty($view,$obj,$gl,$lists,$files,$list_forms)
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #19 : 04.07.2012, 14:52:33 »
Далее в файле
/administrator/components/com_estateagent/html/property.estateagent.html.php
вставляем в функции function editProperty($view,$obj,$gl,$lists,$files,$list_forms)
Код
 		
$form = $list_forms['form'];
$form_service = $list_forms['form_service'];

Ниже в этой же функции где создаются TAB добавляем:
Код
	<?php //===================?>
<?php echo JHtml::_('tabs.panel', JText::_('EAB_OBJ_SERVICE'), 'Service');?>
<?php
$fieldSetsService = $form_service->getFieldsets('service');
foreach ($fieldSetsService as $name => $fieldSet) :
  ?>
<fieldset class="panelform panelservice" >
  <ul class="adminformlist">
<?php foreach ($form_service->getFieldset($name) as $field) : ?>
  <?php $cl=''; if($field->name=='service[spacer]') $cl=' style="float:none;" '; ?>
  <li <?php echo $cl; ?>><?php echo $field->label; ?>
  <?php echo $field->input; ?>
  <?php
echo '<br class="clr">';
?>
  </li>
<?php endforeach; ?>
  </ul>
</fieldset>
<?php
endforeach;
?>
<?php echo JHtml::_('tabs.end');?>
        </div>
        <style>
.panelservice li {float:left;margin: 0 10px 10px 0 !important; padding: 0 !important}
.panelservice li label {min-width:145px !important;margin: 0 !important; padding: 0 !important; }
.panelservice li input {margin: 0 !important;}
.panelservice li select {margin: 0 !important;}
        </style>
Этот код создаст ТАВ со списком полей из файла service.xml
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #20 : 04.07.2012, 14:57:23 »
Далее запись данных в поле service таблицы #__estateagent
Файл /administrator/components/com_estateagent/actions/property.estateagent.php
Функция function saveProperty()

Находим код:
Код
		if (is_array($obj->params)) 
{
$registry = new JRegistry();
$registry->loadArray($obj->params);
$obj->params  = (string)$registry;
}

и ниже этого условия добавляем:
Код
		if (is_array($obj->service))
{
$registry = new JRegistry();
$registry->loadArray($obj->service);
$obj->service  = (string)$registry;
}

Все! В административной части объявления будет выведен там со списком полей. Заполняете их как вам нужно и сохраняете объявление.
В поле service должен записаться сериализованный массив.
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #21 : 04.07.2012, 15:06:17 »
Далее вывод информации на фронте сайта, т.е. при просмотре объявления посетителем.
Файл /components/com_estateagent/actions/property.php

Функция function showEstateObject()
Код
	$sparams = new JRegistry;
$sparams->loadString($obj->service);
$sparams = $sparams->toObject();
$obj->service=$sparams;

В каталоге рабочего шаблона нужно создать файл objtech.php
К примеру /components/com_estateagent/templates/default/objtech.php
Код
<?php 
function getWCTypeString($value) {
switch ($value) {
case 0:
return JText::_('_EAB_OBJ_WCT0');
case 1:
return JText::_('_EAB_OBJ_WCT1');
case 2:
return JText::_('_EAB_OBJ_WCT2');
case 3:
return JText::_('_EAB_OBJ_WCT3');
default:
return JText::_('_EAB_OBJ_WCT0');
}
}

function getWaterSNString($value) {
switch ($value) {
case 0:
return JText::_('_EAB_OBJ_WTR0');
case 1:
return JText::_('_EAB_OBJ_WTR1');
case 2:
return JText::_('_EAB_OBJ_WTR2');
default:
return JText::_('_EAB_OBJ_WTR0');
}
}

function getMealIString($value) {
switch ($value) {
case 0:
return JText::_('_EAB_OBJ_MI0');
case 1:
return JText::_('_EAB_OBJ_MI1');
default:
return JText::_('_EAB_OBJ_MI0');
}
}

function getMealPString($value) {
switch ($value) {
case 0:
return JText::_('_EAB_OBJ_MP0');
case 1:
return JText::_('_EAB_OBJ_MP1');
default:
return JText::_('_EAB_OBJ_MP0');
}
}

?>
<table cellpadding="1" cellspacing="2" border="0" width="100%" class="techfields">
<tr>
<td valign="top" width="33%">
<div>
<h3><?php echo JText::_('_EAB_INF_TYPE11'); ?></h3>
<ul>
<?php
if ($service->cost_manor > 0) echo "<li>".JText::_('_EAB_COST_TYPE0').": <b>".$eahelper->valFormat($service->cost_manor).";</b></li>";
if ($service->cost_house > 0) echo "<li>".JText::_('_EAB_COST_TYPE1').": <b>".$eahelper->valFormat($service->cost_house).";</b></li>";
if ($service->cost_oneman > 0) echo "<li>".JText::_('_EAB_COST_TYPE2').": <b>".$eahelper->valFormat($service->cost_oneman).";</b></li>";
if ($service->cost_oneroom > 0) echo "<li>".JText::_('_EAB_COST_TYPE3').": <b>".$eahelper->valFormat($service->cost_oneroom).";</b></li>";
if ($service->cost_tworoom > 0) echo "<li>".JText::_('_EAB_COST_TYPE4').": <b>".$eahelper->valFormat($service->cost_tworoom).";</b></li>";
if ($service->cost_threeroom > 0) echo "<li>".JText::_('_EAB_COST_TYPE5').": <b>".$eahelper->valFormat($service->cost_threeroom).";</b></li>";
if ($service->cost_transfer > 0) echo "<li>".JText::_('_EAB_COST_TYPE6').": <b>".$eahelper->valFormat($service->cost_transfer).";</b></li>";
if ($service->cost_oneeat > 0) echo "<li>".JText::_('_EAB_COST_TYPE7').": <b>".$eahelper->valFormat($service->cost_oneeat).";</b></li>";
if ($service->cost_twoeat > 0) echo "<li>".JText::_('_EAB_COST_TYPE8').": <b>".$eahelper->valFormat($service->cost_twoeat).";</b></li>";
if ($service->cost_threeeat > 0) echo "<li>".JText::_('_EAB_COST_TYPE9').": <b>".$eahelper->valFormat($service->cost_threeeat).".</b></li>";
?>
</ul>
</div>

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE1'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->spec_skating) { echo "<li>".JText::_('_EAB_SPEC_TYPE1').";</li>"; $flag = 1; }
if ($service->spec_fishing) { echo "<li>".JText::_('_EAB_SPEC_TYPE2').";</li>"; $flag = 1; }
if ($service->spec_hunting) { echo "<li>".JText::_('_EAB_SPEC_TYPE3').";</li>"; $flag = 1; }
if ($service->spec_seminar) { echo "<li>".JText::_('_EAB_SPEC_TYPE4').";</li>"; $flag = 1; }
if ($service->spec_parties) { echo "<li>".JText::_('_EAB_SPEC_TYPE5').";</li>"; $flag = 1; }
if ($service->spec_horses) { echo "<li>".JText::_('_EAB_SPEC_TYPE6').";</li>"; $flag = 1; }
if ($service->spec_health) { echo "<li>".JText::_('_EAB_SPEC_TYPE7').";</li>"; $flag = 1; }
if ($service->spec_children) { echo "<li>".JText::_('_EAB_SPEC_TYPE8').".</li>"; $flag = 1; }
if ($service->spec_kaiting) { echo "<li>".JText::_('_EAB_SPEC_TYPE9').".</li>"; $flag = 1; }
if ($service->spec_restoration) { echo "<li>".JText::_('_EAB_SPEC_TYPE10').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE0'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->language_ru) { echo "<li>".JText::_('_EAB_LANG_RU').";</li>"; $flag = 1; }
if ($service->language_ua) { echo "<li>".JText::_('_EAB_LANG_UA').";</li>"; $flag = 1; }
if ($service->language_ml) { echo "<li>".JText::_('_EAB_LANG_ML').";</li>"; $flag = 1; }
if ($service->language_es) { echo "<li>".JText::_('_EAB_LANG_ES').";</li>"; $flag = 1; }
if ($service->language_it) { echo "<li>".JText::_('_EAB_LANG_IT').";</li>"; $flag = 1; }
if ($service->language_de) { echo "<li>".JText::_('_EAB_LANG_DE').";</li>"; $flag = 1; }
if ($service->language_en) { echo "<li>".JText::_('_EAB_LANG_EN').";</li>"; $flag = 1; }
if ($service->language_fr) { echo "<li>".JText::_('_EAB_LANG_FR').";</li>"; $flag = 1; }
if ($service->language_pl) { echo "<li>".JText::_('_EAB_LANG_PL').";</li>"; $flag = 1; }
if ($service->language_rm) { echo "<li>".JText::_('_EAB_LANG_RM').";</li>"; $flag = 1; }
if ($service->language_etc != "") { echo "<li>".$service->language_etc.".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE2'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->fireside) { echo "<li>".JText::_('_EAB_OBJ_ETOHT').";</li>"; $flag = 1; }
if ($service->telephone) { echo "<li>".JText::_('_EAB_OBJ_ETRCE').";</li>"; $flag = 1; }
if ($service->tv) { echo "<li>".JText::_('_EAB_OBJ_TV').";</li>"; $flag = 1; }
if ($service->computer) { echo "<li>".JText::_('_EAB_OBJ_COMP').";</li>"; $flag = 1; }
if ($service->dsl) { echo "<li>".JText::_('_EAB_OBJ_DSL').";</li>"; $flag = 1; }
if ($service->seminar_room) { echo "<li>".JText::_('_EAB_OBJ_SEMR').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

</td><td valign="top" width="33%">

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE4'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->kitchen) { echo "<li>".JText::_('_EAB_OBJ_KITCH').";</li>"; $flag = 1; }
if ($service->washin_machine) { echo "<li>".JText::_('_EAB_OBJ_EGRDNSZ').";</li>"; $flag = 1; }
if ($service->sauna) { echo "<li>".JText::_('_EAB_OBJ_SAUNA').";</li>"; $flag = 1; }
if ($service->bath) { echo "<li>".JText::_('_EAB_OBJ_BATH').";</li>"; $flag = 1; }
if ($service->pool) { echo "<li>".JText::_('_EAB_OBJ_POOL').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>
    
    <div>
    <h3><?php echo JText::_('_EAB_INF_TYPE5'); ?></h3>
    <ul>
    <?php
echo "<li>".JText::_('_EAB_MEAL_INDEPEND').": ".getMealIString($service->meal_independ).";</li>";
echo "<li>".JText::_('_EAB_MEAL_PREPAR').": ".getMealPString($service->meal_prepar).";</li>";
        if ($service->meal_bread) echo "<li>".JText::_('_EAB_MEAL_BREAD').".</li>";
    ?>
    </ul>
    </div>
    
    <div>  
<h3><?php echo JText::_('_EAB_INF_TYPE3'); ?></h3>
<ul>
<?php
echo "<li>".JText::_('_EA_OBJ_WC').": ".getWCTypeString($service->wc).";</li>";
echo "<li>".JText::_('_EA_OBJ_BATH').": ".getWCTypeString($service->shower).";</li>";
echo "<li>".JText::_('_EA_OBJ_BEDROOM').": ".getWCTypeString($service->bedroom).";</li>";
echo "<li>".JText::_('_EA_OBJ_WATERSN').": ".getWaterSNString($service->watersn).".</li>";
?>
</ul>
</div>
    
    <div>
    <h3><?php echo JText::_('_EAB_INF_TYPE8'); ?></h3>
    <ul>
    <?php
$flag = 0;
if ($service->tranfer_guest) { echo "<li>".JText::_('_EAB_TRANSFER_GUEST').";</li>"; $flag = 1; }
if ($service->tranfer_invalid) { echo "<li>".JText::_('_EAB_TRANSFER_INVALID').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE7'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->near_child) { echo "<li>".JText::_('_EAB_NEAR_CHILD').";</li>"; $flag = 1; }
if ($service->near_sport) { echo "<li>".JText::_('_EAB_NEAR_SPORT').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE9'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->animal_vlad) { echo "<li>".JText::_('_EAB_ANIMALS').";</li>"; $flag = 1; }
if ($service->beehives) { echo "<li>".JText::_('_EAB_BEEHIVES').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

</td><td valign="top">

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE12'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->distance_shop > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE0').": <b>".$service->distance_shop.";</b></li>"; $flag = 1; }
if ($service->distance_drug > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE1').": <b>".$service->distance_drug.";</b></li>"; $flag = 1; }
if ($service->distance_autost > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE2').": <b>".$service->distance_autost.";</b></li>"; $flag = 1; }
if ($service->distance_railway > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE3').": <b>".$service->distance_railway.";</b></li>"; $flag = 1; }
if ($service->distance_post > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE4').": <b>".$service->distance_post.";</b></li>"; $flag = 1; }
if ($service->distance_cafe > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE5').": <b>".$service->distance_cafe.";</b></li>"; $flag = 1; }
if ($service->distance_lake > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE6').": <b>".$service->distance_lake.";</b></li>"; $flag = 1; }
if ($service->distance_district > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE7').": <b>".$service->distance_district.";</b></li>"; $flag = 1; }
if ($service->distance_capital > 0) { echo "<li>".JText::_('_EAB_DIST_TYPE8').": <b>".$service->distance_capital.".</b></li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE6'); ?></h3>
<ul>
<?php
$flag = 0;
if ($service->act_fishing) { echo "<li>".JText::_('_EAB_ACT_TYPE0').";</li>"; $flag = 1; }
if ($service->act_hunting) { echo "<li>".JText::_('_EAB_ACT_TYPE1').";</li>"; $flag = 1; }
if ($service->act_diving) { echo "<li>".JText::_('_EAB_ACT_TYPE2').";</li>"; $flag = 1; }
if ($service->act_kaiting) { echo "<li>".JText::_('_EAB_SPEC_TYPE9').";</li>"; $flag = 1; }
if ($service->act_snowboarding) { echo "<li>".JText::_('_EAB_SPEC_TYPE1').";</li>"; $flag = 1; }
if ($service->act_gathering) { echo "<li>".JText::_('_EAB_ACT_TYPE3').";</li>"; $flag = 1; }
if ($service->act_campaigns) { echo "<li>".JText::_('_EAB_ACT_TYPE4').";</li>"; $flag = 1; }
if ($service->act_bicycle) { echo "<li>".JText::_('_EAB_ACT_TYPE5').";</li>"; $flag = 1; }
if ($service->act_horses) { echo "<li>".JText::_('_EAB_ACT_TYPE6').";</li>"; $flag = 1; }
if ($service->act_skiting) { echo "<li>".JText::_('_EAB_ACT_TYPE7').";</li>"; $flag = 1; }
if ($service->act_boat) { echo "<li>".JText::_('_EAB_ACT_TYPE8').";</li>"; $flag = 1; }
if ($service->act_bathing) { echo "<li>".JText::_('_EAB_ACT_TYPE9').";</li>"; $flag = 1; }
if ($service->act_excursions) { echo "<li>".JText::_('_EAB_ACT_TYPE10').";</li>"; $flag = 1; }
if ($service->act_exhibitions) { echo "<li>".JText::_('_EAB_ACT_TYPE11').";</li>"; $flag = 1; }
if ($service->act_national) { echo "<li>".JText::_('_EAB_ACT_TYPE12').";</li>"; $flag = 1; }
if ($service->act_nature) { echo "<li>".JText::_('_EAB_ACT_TYPE13').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
?>
</ul>
</div>

<div>
<h3><?php echo JText::_('_EAB_INF_TYPE10'); ?></h3>
<ul>
<?php
if ($service->year) {
echo "<li>".JText::_('_EAB_ALL_YEAR').".</li>";
} else {
$flag = 0;
if ($service->january) { echo "<li>".JText::_('JANUARY').";</li>"; $flag = 1; }
if ($service->february) { echo "<li>".JText::_('FEBRUARY').";</li>"; $flag = 1; }
if ($service->march) { echo "<li>".JText::_('MARCH').";</li>"; $flag = 1; }
if ($service->april) { echo "<li>".JText::_('APRIL').";</li>"; $flag = 1; }
if ($service->may) { echo "<li>".JText::_('MAY').";</li>"; $flag = 1; }
if ($service->june) { echo "<li>".JText::_('JUNE').";</li>"; $flag = 1; }
if ($service->july) { echo "<li>".JText::_('JULY').";</li>"; $flag = 1; }
if ($service->august) { echo "<li>".JText::_('AUGUST').";</li>"; $flag = 1; }
if ($service->september) { echo "<li>".JText::_('SEPTEMBER').";</li>"; $flag = 1; }
if ($service->october) { echo "<li>".JText::_('OCTOBER').";</li>"; $flag = 1; }
if ($service->november) { echo "<li>".JText::_('NOVEMBER').";</li>"; $flag = 1; }
if ($service->december) { echo "<li>".JText::_('DECEMBER').".</li>"; $flag = 1; }
if ($flag == 0) { echo "<li>".JText::_('_EAB_NOT_SET').";</li>"; $flag = 0; }
}
?>
</ul>
</div>

</td>
</tr>
</table>

Предупреждаю сразу, код не оптимальный. Возможен более удобный вывод данных.
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #22 : 04.07.2012, 15:10:16 »
Далее в файле /components/com_estateagent/templates/agro/obj.php
найти код
Код
	echo JHtml::_('tabs.start', 'content', array('useCookie'=>1));
//************* //Description // ***************************
if(trim($obj->description)!= ""){
echo JHtml::_('tabs.panel', JText::_('EA_OBJ_DESCRIPT'), 'Description');
echo EA_Template::PrepareContent($obj->description);
}

и ниже вставить следующий:
Код
	//************* Service ***************************
if($obj->service){
echo JHtml::_('tabs.panel', JText::_('EAB_OBJ_SERVICE'), 'Service');
$service =& $obj->service;
include($tpath.DS."objtech.php");

}

В моем 10 ответе есть картинка как выглядит вид сервисов. Так и у вас должно получиться. На фронте эта информация выведется блоками, но уже без самих полей, а только "что куда и сколько"
Вроде ничего не забыл.
« Последнее редактирование: 04.07.2012, 15:13:20 от Фей »
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #23 : 04.07.2012, 15:15:48 »
Не реклама: _ttp://ostraining.com/howtojoomla/how-tos/development/getting-started-with-jform Здесь на англ. языке описано как делать XML файлы для форм.
Стандартные параметры для Joomla 2.5 здесь http://docs.joomla.org/Form_field
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #24 : 04.07.2012, 15:22:28 »
Поделись решением как избавиться от этого мусора, если оно есть.

Ответ на пост #7. Решение есть, но я его еще не пробовал толком. Сделал, поглядел и вернулся к старому варианту.
Т.к. мне нужны прямые короткие ссылки на объявления, т.к. такого типа www.site.ru/object1.html, www.site.ru/object2.html
Предоставлю решение позже.
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #25 : 04.07.2012, 20:10:19 »
Можно ответ № 18,19 подробней расписать, или выложить готовые файлы? Ошибку выдает, что то  неправильно делаю. :(
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #26 : 04.07.2012, 20:32:53 »
Можно ответ № 18,19 подробней расписать, или выложить готовые файлы? Ошибку выдает, что то  неправильно делаю. :(
У меня файлы под свою задачу затачиваются. Я выкладываю те решения, что могут пригодиться кому-либо.
Пишите, что за ошибка.
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #27 : 04.07.2012, 20:58:02 »
Parse error: syntax error, unexpected '<' in N:\home\ea\www\administrator\components\com_estateagent\html\property.estateagent.html.php on line 236
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Re: EstateAgent Improved за что платить деньги?
« Ответ #28 : 04.07.2012, 21:02:32 »
Parse error: syntax error, unexpected '<' in N:\home\ea\www\administrator\components\com_estateagent\html\property.estateagent.html.php on line 236

Странно! У тебя какая версия EstateAgent?
*

dpvms

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: EstateAgent Improved за что платить деньги?
« Ответ #29 : 04.07.2012, 21:20:36 »
1.5.11
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

EstateAgent Improved 2.5.x

Автор mening

Ответов: 14
Просмотров: 10717
Последний ответ 16.04.2017, 17:35:25
от cepseu
А почему так дёшево EstateAgent?

Автор stardel

Ответов: 3
Просмотров: 5186
Последний ответ 30.07.2016, 14:07:58
от voland
EstateAgent Improved актуальные вопросы и их решения

Автор kirill.psl

Ответов: 364
Просмотров: 64597
Последний ответ 27.05.2016, 22:57:16
от cepseu
Модуль поиска по местанохождению EstateAgent

Автор fialka

Ответов: 5
Просмотров: 4121
Последний ответ 20.11.2015, 18:41:40
от RazarioAgro
Плагин экспорта объектов недвижимости с сайта на Яндекс недвижимость под Joomla 2.5 для EstateAgent

Автор a.Lexus

Ответов: 1
Просмотров: 2946
Последний ответ 13.10.2015, 13:14:19
от a.Lexus