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

Фей

  • Давно я тут
  • 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

  • Живу я здесь
  • 2706
  • 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
Просмотров: 7852
Последний ответ 16.04.2017, 17:35:25
от cepseu
А почему так дёшево EstateAgent?

Автор stardel

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

Автор kirill.psl

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

Автор fialka

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

Автор a.Lexus

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