Простенький сайт агентства недвижимости.
Простенький сайт агентства недвижимости.
Приветствую.
PHP занимаюсь довольно давно, но профессионально взялся за него только недавно. До этого не использовал фреймворки и Yii - мой первый опыт работы с фреймворками. Это мой первый законченный коммерческий проект на Yii, поэтому я не смог использовать все возможности фреймворка.
www.prestigeconsultor.com
Особенности:
- 6 полноценных языков (кроме админки). Основной язык сайта - испанский (использовался стандартный i18n с собственным виджетом переключения языков)
- пользователи сами могут добавлять объеты недвижимости на сайт(включая загрузку фотографий и видео), администраторы лишь должны подтвердить, что информация по объекту корректна.
- Google Maps API (слегка модифицированное расширение EGMap от Antonio Ramirez)
- загрузка видео через Youtube API (посредством компонента Zend_Gdata)
- генерирование PDF (посредством модифицированного компонента Zend_PDF)
- загрузка фотографий через Ajax без флеша посредством qqUploader (виджет интеграции писал сам ещё до того как появился виджет в расширениях)
- JQueryUI Tabs
- нормализованная структура базы данных. Таблица самих объектов имеет только идентификатор, метаданные и цену объекта, а остальные данные хранятся в отдельных таблицах
- разделение фронтенда и бэкенда на уровне разных приложений имеющих доступ ко всем ресурсам, кроме частных представлений.
- админка на основе jqGrid. Собственное расширение для работы с jqGrid.
- описания объектов автоматически переводятся с испанского на другие языки через Google Translate API (самописное расширение)
Сайт будет дорабатываться по просьбе заказчика. Счётчики, метатэги и т.д. будут устанавливаться специализированным SEO агенством.
Скриншоты админки:
PHP занимаюсь довольно давно, но профессионально взялся за него только недавно. До этого не использовал фреймворки и Yii - мой первый опыт работы с фреймворками. Это мой первый законченный коммерческий проект на Yii, поэтому я не смог использовать все возможности фреймворка.
www.prestigeconsultor.com
Особенности:
- 6 полноценных языков (кроме админки). Основной язык сайта - испанский (использовался стандартный i18n с собственным виджетом переключения языков)
- пользователи сами могут добавлять объеты недвижимости на сайт(включая загрузку фотографий и видео), администраторы лишь должны подтвердить, что информация по объекту корректна.
- Google Maps API (слегка модифицированное расширение EGMap от Antonio Ramirez)
- загрузка видео через Youtube API (посредством компонента Zend_Gdata)
- генерирование PDF (посредством модифицированного компонента Zend_PDF)
- загрузка фотографий через Ajax без флеша посредством qqUploader (виджет интеграции писал сам ещё до того как появился виджет в расширениях)
- JQueryUI Tabs
- нормализованная структура базы данных. Таблица самих объектов имеет только идентификатор, метаданные и цену объекта, а остальные данные хранятся в отдельных таблицах
- разделение фронтенда и бэкенда на уровне разных приложений имеющих доступ ко всем ресурсам, кроме частных представлений.
- админка на основе jqGrid. Собственное расширение для работы с jqGrid.
- описания объектов автоматически переводятся с испанского на другие языки через Google Translate API (самописное расширение)
Сайт будет дорабатываться по просьбе заказчика. Счётчики, метатэги и т.д. будут устанавливаться специализированным SEO агенством.
Скриншоты админки:
Последний раз редактировалось Johnatan 2011.03.30, 22:33, всего редактировалось 1 раз.
Конференция: yii@conference.jabber.ru
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Простенький сайт агентства недвижимости.
Можно подробнее про загрузка видео через Youtube API?
У меня как раз проект где много видео.
У меня как раз проект где много видео.
Жду Yii 3!
Re: Простенький сайт агентства недвижимости.
Я долго курил мануалы по Youtube API PHP вот здесь http://code.google.com/intl/ru/apis/you ... e_php.html
Затем нашёл, что в Zend уже есть готовый компонент, а Yii прекрасно работает с компонентами Zend (http://framework.zend.com/manual/en/zen ... utube.html)
Объединив всю эту информацию организовать заливку видео на Youtube прямо с сайта было довольно легко. Я использовал систему авторизации ClientLogin. Она позволяет заливать все видео под одним логином (тому, кто закачивает видео не нужно иметь свой аккаунт на Youtube).
Да, забыл написать в особенностях, что на сайт объекты может добавлять любой зарегистрированный пользователь и объекты потом проходят проверку у администраторов.
Была проблема с использованием новой для Youtube фичи со скрытым видео (не private, а listed), так как в компоненте Zend ещё нет этой опции. Пришлось писать свой небольшой патч, но это мелочь.
Затем нашёл, что в Zend уже есть готовый компонент, а Yii прекрасно работает с компонентами Zend (http://framework.zend.com/manual/en/zen ... utube.html)
Объединив всю эту информацию организовать заливку видео на Youtube прямо с сайта было довольно легко. Я использовал систему авторизации ClientLogin. Она позволяет заливать все видео под одним логином (тому, кто закачивает видео не нужно иметь свой аккаунт на Youtube).
Да, забыл написать в особенностях, что на сайт объекты может добавлять любой зарегистрированный пользователь и объекты потом проходят проверку у администраторов.
Была проблема с использованием новой для Youtube фичи со скрытым видео (не private, а listed), так как в компоненте Zend ещё нет этой опции. Пришлось писать свой небольшой патч, но это мелочь.
Конференция: yii@conference.jabber.ru
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Простенький сайт агентства недвижимости.
спасибо, теперь я знаю чем я буду заниматься все выходные
Жду Yii 3!
Re: Простенький сайт агентства недвижимости.
Много времени у вас ушло на него?
Re: Простенький сайт агентства недвижимости.
Ну, учитывая, что это мой первый полный проект с Yii, то довольно много. Где-то три рабочих недели ушло.
Сейчас начал другой сайт по недвижимости. Расчитываю за пару недель управиться со всеми плюшками. Некоторые вещи я буду переписывать заново (админку, работу с переводами, поисковый виджет и т.д.)
Ещё забыл добавить, что на этом сайте описания объектов недвижимости автоматически переводятся с испанского на другие языки через Google Translate API.
Сейчас начал другой сайт по недвижимости. Расчитываю за пару недель управиться со всеми плюшками. Некоторые вещи я буду переписывать заново (админку, работу с переводами, поисковый виджет и т.д.)
Ещё забыл добавить, что на этом сайте описания объектов недвижимости автоматически переводятся с испанского на другие языки через Google Translate API.
Конференция: yii@conference.jabber.ru
- greatdane
- Сообщения: 408
- Зарегистрирован: 2010.10.20, 14:05
- Откуда: Электросталь
- Контактная информация:
Re: Простенький сайт агентства недвижимости.
johnatanb, не поделитесь примерами кода для работы с Google Translate API?
Re: Простенький сайт агентства недвижимости.
Это часть кода метода getDescription в AR модели Items, который представляет собой объекты недвижимости.
Дальше идёт проверка статуса ответа (responseStatus), если он не 200, то повторить запрос и т.д.
Документация здесь: http://code.google.com/intl/ru/apis/lan ... slate.html
Код: Выделить всё
$from = Yii::app()->sourceLanguage;
$to = Yii::app()->language;
$request = curl_init("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" . urlencode($this->description) . "&langpair=".$from."%7c".$to);
curl_setopt($request CURL_HTTP_VERSION_1_1, 1);
curl_setopt($request, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($request, CURLOPT_HEADER, 0);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($request, CURLOPT_USERAGENT, 'Mozilla/5.0');
$response = curl_exec($request);
if ( 200 != curl_getinfo($request, CURLINFO_HTTP_CODE) ) {
return $this->getDescription();
}
curl_close($request);
$result = json_decode(trim($response), true);
$description = $result['responseData']['translatedText'];
Документация здесь: http://code.google.com/intl/ru/apis/lan ... slate.html
Конференция: yii@conference.jabber.ru
Re: Простенький сайт агентства недвижимости.
а можно про мелочь по-подробнее?
уже давно делал админку для модерации видео и кажется в в ней я мог просматривать private видео. Но вот сейчас оказалось, что просмотреть видео нельзя. Перерыл все что мог, но так и не понял можно ли просмотреть private видео на своем сайте. Поэтому решил использовать новый статус Youtube unlisted, но опять же ничего по нему нет, как программно его устанавливатьБыла проблема с использованием новой для Youtube фичи со скрытым видео (не private, а listed), так как в компоненте Zend ещё нет этой опции. Пришлось писать свой небольшой патч, но это мелочь.
Re: Простенький сайт агентства недвижимости.
Меню бы поправить чуток. Если курсор наводится ниже надписи, то при "подпрыгивании" зона с ссылкой уезжает из под мыши, приходится ловить снова. Т.е. желательно, чтоб блок <a> заполнял охватывающий элемент списка.
Re: Простенький сайт агентства недвижимости.
Нельзя private видео просматривать на своём сайте. Именно поэтому используется listed/unlisted атрибут. Этот атрибут хоть и добавили в API, но нигде не задокументировали.tonchik писал(а):а можно про мелочь по-подробнее?
уже давно делал админку для модерации видео и кажется в в ней я мог просматривать private видео. Но вот сейчас оказалось, что просмотреть видео нельзя. Перерыл все что мог, но так и не понял можно ли просмотреть private видео на своем сайте. Поэтому решил использовать новый статус Youtube unlisted, но опять же ничего по нему нет, как программно его устанавливать
Нужно послать такую конфигурацию:
Код: Выделить всё
<yt:accessControl action='list' permission='denied'/>
http://code.google.com/intl/en-EN/apis/ ... essControl
При следующем обновлении поправлю. Спасибо.sergko писал(а):Меню бы поправить чуток. Если курсор наводится ниже надписи, то при "подпрыгивании" зона с ссылкой уезжает из под мыши, приходится ловить снова. Т.е. желательно, чтоб блок <a> заполнял охватывающий элемент списка.
Конференция: yii@conference.jabber.ru