В общем на суд ваш выставляю проект, который был переписан с собственного движка на 7ой Drupal.
Собственно линк: http://fotograd.org/
Особенности:
Используемые модули i18n_*, date_*, boost, ajax_comments, logintogobban.
Остальное все реализуется на своих модулях.
Почему отказался от views - в этом случае пришлось бы использовать domain taxonomy (так как все города в таксономиях). В принципе конечно можно, но тогда дефолтный город надо было бы все-равно хуками переопределять.
Все города хранятся в таксономии. Склонение - добавлением поля.
Из TODO что было бы не только мне интересно:
- при регистрации пользователю в autocomplete показываются города на английском, буду дотачивать чтобы использовался родной язык.
Ну пока собственно все
Комментарии
Для чего такая пустота на сайте?
Не влезает на 17"
Дизайн уровня начала нулевых
Много пустого места
Странная структура страниц
Если переходить на http://fotograd.org/ место не определяет, а если убрать /ru в строке то опредлеяет
Слишком много рамочек как по мне, по мне сайт дизайнеров, фотографов должен быть максимально простым, без рамок, рюшечек, стразов ...
кстати страници фотографа мне кажется стоит сделать такими:
http://img-fotki.yandex.ru/get/5211/madptah.11/0_6d0e9_bf62c7d0_XXL.jpg
то есть, всю площадь занимает фотография, а менюшки итп вторично над фотографией.
Вот эта идея мне очень нравится! Спасибо!
Вообще всем спасибо) Особенно за критику!
Разрешение какое?
? в мои 15 все вмещаетсо вполне
А мне понравилось, красиво!
С картами сайта бардак
если вы про карты сайта - sitemap_html - то да, согласен. По идеи они далеко не для пользователя а для ПС.
Пользователю на проекте карта сайта по-моему в данном случае не нужна.
ваш sitemap.xml поисковики и так съедят - делайте белый сайт а не ссылки для дураков/поисковиков в футтере - особенно если вы СДЛ формат делаете - а если ГС - не тратьте время людей...
это понятно. вопрос как быстро рассказать им о 8 000 поддоменах?
О_о
А кстати - технологически монетизация этих 8000 поддоменов как может выглядеть? Не в ручную же через сапу? Или как?
в базе 8 000 городов у каждого города свой поддомен.. вот собственно.)
Монетизация проекта - это не сапа. Это прямая реклама фотографов и околофототематики. Я надеюсь
Простите, изначально неправильно понял ваш вопрос. А зачем все монетизировать? Это просто дополнительный трафик по СЧ и НЧ.
У меня знакомый фотограф московский сборку хочет под свой проект - у меня есть своя http://designtree.ru/ - но она не идеальна - вы свою сборку во сколько оцените?
Данный проект как сборку не рассматриваю, если честно. Делается все исключительно для себя и под себя, если можно сказать так. Тем более готовится широкий функционал бэкэнда для фотографов.
Не понял, а как определяется мой город?
Повторю, определяется только по этому адресу
http://fotograd.org/ru
если без префикса http://fotograd.org/ - не определяется
Да, это нужно обязательно поправить, я вот сразу начал по-русски вбивать, и уже несколько раз заругался
Хлебные крошки я так понимаю ручками делались?
Вот нахожусь я на этом урле:
http://fotograd.org/ru/photographers
И вижу только фотографии моего города. Но так-ли это хорошо по одной ссылке отдавать разный контент? В другом городе по этой ссылке будет совсем другой контент. А как это индексировать? А как я другу пошлю например такую ссылку? Понятно, я как айтишник могу найти урл (поддомен), но фотографы разве будут думать об этом? Мне кажется они вообще не поймут что люди из другого города по этой-же ссылке увидят совсем другое
Ощущения смешанные. Что-то в дизайне кажется симпатичным и современно выглядящим. Но и кривизны при этом хватает - с отступами и бордерами проблемы. Видно что проект не доделан. Если-бы я был фотографом, я-бы ожидал более удобного интерфейса. Перед тем как перейти куда-либо приходится слишком много думать куда тыкнуть. Градиентов, бордеров и теней - нужно поменьше.
И еще странно, когда регался ввел два раза пароль. А ко мне на почту пришло письмо с временной ссылкой типа для того чтобы опять задать пароль. Нехорошо
petrovnn, большое спасибо за конструктивную критику!
Буду отвечать по-порядку:
1. Не понял, а как определяется мой город?
Город определяется по ip-адресу, используется база MaxMind. Про странность определения понял, это будем исправлять. У меня почему-то всегда определяет верно А вообще причина скорее всего в кеше. Но здесь же кроется и решение на следующий вопрос:
2. Про урл и одинаковый контент - вы абсолютно правы и я уже готовлю изменения которые решат эту проблему (главная страница останется только одна и будет вести на поддомены)
3. Про перевод городов - работаю над этим.
4. Хлебные крошки - да, руками. Есть какие-нибудь неудобные моменты, связанные с этим?
5. Дизайнер во мне даже не рождался, но среди тех версий которые были до этого, этот хоть как-то отвечает моим требованиям.
6. Ссылка - уберем! Спасибо еще раз за подробный анализ!
Да нет, с крошками все ок. Просто несколько раз делал крошки (и руками и модулями) это всегда хлпотно, тем более для проектов такого размаха.
И еще. я заметил что у вас два языка на сайте и домен .org Это значит что у вас просто дофигища работы. Я думаю работы еще не на один месяц. Сам делал один двуязычный портал (даже попроще чем у вас) но все равно это запарно и быстро не сделать. Так что удачи вам и терпения
Спасибо большое! Языка пока два, это так, и скорее всего их количество будет только расти.
Работы действительно дофигище - и основной упор - в создании удобного интерфейса для пользователя и фотографа.
Спасибо еще раз!
А еще подскажите пожалуйста зачем вы взяли модуль logintogobban. Прочитал список его фич, но не понятно (не очевидно) какие из них вам понадобились. Сам сейчас делаю портал примерно похожей сложности в плане организации контента, но правда только на одном языке.
Авторизацию на email повесил Чтобы потом пользователей заставить в качестве логина указывать осмысленное значение и авторизовываться только по email & password.
а почему не использовали http://drupal.org/project/email_registration
фигня
Ну да.
Вот последняя фраза настораживает.
Вообще, прямая реклама дело очень хлопотное.
адсенс или яд не думали пробовать?
Про прямую рекламу - знаю и понимаю, работал в крупном медиа-сми холдинге, где все держалось на рекламе прямой. И имею представление о том, какое это непростое дело..
По поводу ЯД и Адсенс - думал. Как дополнительный источник возможно, но если честно, меня напрягают их скрипты (подключение к их серверам за получением рекламы - на выполнение этих запросов уходит приличное время).
Да и монетизация пока только в перспективе. Сначала проект довести до ума хотелось бы.
ну если работали в медиа-холдинге, тогда я вам верю, что понимаете насколько это
геморныйтрудоемкий бизнесНо я так сходу не стал-бы отказываться от контекстки. У меня на одном сайте она приносит неплохой доход, по крайней мере для моей посещалки 1500 посетителей в день. Если напрягает скорость загрузки сайта с рекламой, то поставьте ее для начала ПОД контентом, вызываться она будет после прогруза основных ресурсов страницы (картинок, стилей и скриптов). Кроме того, современные рекламные скрипты должны иметь настройку асинхронной неблокирующей загрузки рекламы. Должны, но я не проверял есть-ли. И с такой настройкой по идее их можно ставить хоть в шапку. Но это теория. А под контнетом можно спокойно разместить даже без асинхронной загрузки.
Если есть возможность использовать два инструмента - нужно испоьзовать два, хотя с тем что сначала нужно довести до ума сам сайт - полностью согласен. Вот меня до сих пор не взяли в ЯД - подавал заявку несколько раз
да, и хорошо что на семерке делаете, а то есть чудаки, которые до сих пор новые проекты на шестерке делают
petrovnn, если честно, я иногда задумываюсь о гибриде 7ки и симфони2 вместе с монгобд )
А так - вообще все скрипты через head.js думаю грузить, чтобы уж избавиться от всего гемора + туда же попробовать впихнуть всю контексту, если на это пойдет дело. А так - в ЯД уже брали меня. Я потом отказался - запарили с документами.
Уже в 3х проектах такое использую. Не люблю велосипеды. А насчёт head.js. Надо не забывать про оптимизацию. Drupal сам может объединить все файлы css, js в несколько больщих а с внешними инструментами придется всё в ручную делать.
Про опыт с работой гибрида хотелось бы услышать что-нибудь ) Кстати, 8ка, если не ошибаюсь, будет нативно использовать что-то от симфони2.
Про Head.js - опять таки есть модуль друпала, который эти самые объединенные jsки внедряет для head.js. Ну если нет - то придется самому сделать этот инструмент.
Но существенный плюс на выигрыше в рендеринге - заманчив.
не понимаю что за head.js
Если мне нужно было ускорить загрузку, я все скрипты ставил в подвал (переменная $scripts в html.tpl.php). Недостаток правда такого подхода в том, что не все модули корректно работают когда их скрипты в подвале, это это зависит от проекта. На многих простых проектах такая фишка прокатывает
Вот про него я говорю - http://headjs.com/
аа, интересно. А насколько реально рекламные скрипты сохранить на своем сервере? Я к тому, что пытался недавно сохранить скрипт Google Maps API v3 - фигос, не смог сделать. Либо я плохо знаю JS, либо они специально сделали так чтобы нельзя было сохранить. Скорее всего адсенс тоже вряд-ли удастся сохранить у себя. Илил хеад.жс может подключать и внешние скрипты?
смотрите в сторону
http://drupal.org/project/labjs
http://drupal.org/project/headjs
Ну я про этот модуль и говорил ) Второй который, его использую. Но если он что-то не подключает - то там уже ручками допиливать.
А так - АПИ да, и миграция вполне возможна - либо полный переход на Drupal8.
я оказывается в Казани...
а вообще нарядно имхо
как Вы реализовали показ телефона по клику?
1 пункт, да, бывает косяк с кешем - если за минуту до вас был казанец, то вам скорее всего казанский кеш отдастся
насчет показа телефона по клику - есть несколько вариантов
1ый - ajax-запрос, который по урлу должен выдать номер телефона требуемого фотографа. Но чтобы не делать лишний запрос на чтение - номер телефона сразу выводится, а по клику вызывается запись в бд о запросе и display:none становится display:block;
посмотрите через firebug - там все очень просто)
Хм, а это излечимо? Вообще, насколько сложно прикрутить эту базу к семерке? Какие-то есть подводные камни? А то есть потребность определения географии, даже не на одном проекте
Там суть boost такая, что по домену отдается кеш из cache/normal/DOMAIN. Когда обращаемся к DOMAIN - то отдается последний кеш, и если это был Казанец - отдастся Казанский кеш.
По идеи я все хотел сесть и излечить следующим образом, чтобы кеш отдавался из CITY.DOMAIN.
Но если без кеша - то вообще проблем не возникает.
не смотрели этот модуль?
http://drupal.org/project/smart_ip/
в описании говорится что якобы он может хавать данные от MaxMind
http://sypexgeo.net/ru/
http://ipgeobase.ru/cgi-bin/Archive_dop.cgi
IpGeobase использовал.
SypexGeo - на хабре описание было.
MaxMind - это сейчас и использую, без модуля - а с установленным geoip для nginx.
Интересно, а так быстрее работает?
ага, читал. В данный момент для задачи определения по IP склоняюсь именно к SypexGeo.
Что касается базы координат для городов, то остановился на вот этой базе, и очень доволен: http://habrahabr.ru/post/135596/
Это русифицированная смесь maxmind и ipgeobase, вот более ранний пост, в котором об этом говорится: http://habrahabr.ru/post/110385/
В этой базе тоже есть определение по IP, но я таблицу IP-адресов не использую, пользуюсь только огромной выборкой координат для самых крупных городов большинства стран. Для России там больше двух тысяч нас. пунктов (учитывая, что городов в России всего около тысячи), что меня вполне устраивает.
Почему-то у меня ощущение, что по качеству эта база будет получше оригинального maxmind...
И да, базы мне нужны для сайта http://bestmaps.ru/ - сейчас доделываю новую версию на семерке
Сайт пустой?)
По поводу баз - у меня новая концепция готовится по которой база максминда устраивает
По поводу быстроты - должно вроде как, но не вникал в особенности архитектуры.
Это артефакт переноса на другой сервер. Что-то в этот раз DNS обновляется черезчур медленно, и я раньше времени перенес файлы старого сайта в другую папку, что основная папка осталась пустой. Сейчас уже поправил, и должен открываться либо старый сайт, либо новый, в зависимости от того, обновились-ли DNS у вашего провайдера