Смотрим на WordPress дальше – задача: сделать возможность добавлять автором свой юзерпик (картинку примерно 80 на 80 пикселей, которую будут показывать у поста), не модифицируя кода самого WordPress. Плагинов/плугинов куча разных, советов, хаков… Есть из чего выбрать, и как сделать, но всё, простите через одно место… Спросите – почему? Элементарно. До создания WordPress было куча других блогов (как сервисов, так и движков), у которых, в большинстве, всегда любой автор (или аффтар) мог всегда прицепить хоте-бы один юзерпик. Скажите, зачем такая возможность WordPress ? Ну как? Система пользователей есть, регистрация, возможность писать блог-посты, комментарии, а такой простой вещи как загрузить свой юзерпик нету… Неужели создатели WordPress до его создания не думали об этом? А может они не видели, или не пользовались? Или не догадались, что создав возможность вести блог больше чем одному человеку, понадобятся юзерпики? Вот так, ходишь и доделываешь за всеми, то что они не сделали…
Category Archives: Web
WordPress – настройка фидов после изменения шаблонов
Парадоксально немножко, но, после того, как вчера перебирал кой какие косточки WordPress, меня таки убило то, что, имея возможность настроить свой шаблон, ты не можешь никак изменить что выводиться в фидах WordPress. В шаблоне, не выходя за рамки его, при помощи немножко магии и немножко само-созданных плугинов, можно добиться интересных результатов, вплоть до изменения логики вывода на тебе нужный лад (чем я собственно и занимался). Причём без малейшей модификации любого другого файла из самого WordPress, опираясь только на Custom Fields и знания возможностей системы. Безболезненно и совместимо с обновлениями (ну по крайней мере я так считаю).
После таких моих изменений (по задумке всего плугина/шаблона/режима), потребовалось изменить вывод фидов (RSS и ATOM), бо там появились лишние ноды, которые добавляются WordPress, плюс изменить кой-какие на значения с Custom Fields. До этого момента я не ковырял совсем тему фидов в WordPress, а как поковырял, мне плохо стало… Они не могут быть как либо изменены через шаблоны/плугины. Они сделаны хард-кодом… И конфигурация у них мало-мальская… И если мне не нужен wfw:commentRSS или я хочу изменить значение link на какое-то своё, особенное, я должен лесть, так сказать, в системные файлы, тем самым, обязывая себя каждый раз, после обновления WordPress, некоторых особей, быть осторожными на обновлении, если они будут использовать это создание… Следовательно, и установка такого плугина/шаблона/режима потребует больших усилий, а возможно и проблему создаст… Я лично не люблю изменять файлы системы (устанавливать так называемые патчи), при установки каких либо не стандартных возможностей, а предпочитаю, что бы это было реализовано через плугины/шаблоны. А менять придётся… Придётся… А ой как не хочется…
O WordPress ещё можно говорить долго… В нём есть ещё странного и неизведанного для меня (а может для многих)… Особенно то, как в нём, через функции идёт обращение к методам объектов через global в функции, а в методах объектов, опять-же через global уже в методе, идёт обращение к переменным в Global Scope…
Вечерний WTF? или “А зачем в PHP переменные?”
Я не знаю, где народ берёт такие грибы, или траву, или как они косяки забивают, что у них возникают вопросы: А зачем в PHP переменные? Ведь строки можно и без них выводить через echo!
И пример: зачем делать
<html>
<body>
<?php
$actor="Marlon Brando";
echo $actor;
?>
</body>
</html>
если можно
<?php
echo "Marlon Brando";
?>
Я тоже хочу такой травы, грибов и так забивать косяки… Забивая целые страницы (всё, что надо и не надо) в переменную через конкретизацию и делая echo, даже не думая о том, надо ли им это… И это пока вы там думаете о XML, xHTML, шаблонных движках, ORM и прочих заморочках…
Хотя я умею и без PHP и травы с грибами в косяках, на чистом HTML… И даже можно без CSS по идее, только страшновато немного получается…
Да, я знаю, смеяться над новичками и идиотами нельзя… не хорошо… Но они чашу терпения переполняют сразу… я не могу сдержаться… Я не понимаю, почему их в детский сад не возвращают (или их закрыли)?
Google Sitemaps обновили – новый интерфейс и подсказки
Google Sitemaps сменил свой интерфейс. Теперь можно быстрее добавить сайтмап, навигация стала прозрачней: есть бредкумбс (хлебные крошки навигации), навигацию разбили на 3 части: диагностика, статистика и сайтмапы (раньше была 4 часть: robots.txt). Приятный, нежный светло-зелёный цвет. Появилась обобщающая часть, где сообщают о том когда GoogleBot был на вашем сайте, потенциальные проблемы. Почти везде есть подсказки и помощь.
Чем дальше, тем больше Google Sitemaps становиться оружием для борьбы с SEO оптимизаторами. По идее каждый может (если позволяют ресурсы) сделать сайтмап своего сайта, подключиться к Google Sitemaps и узнать нужную и полезную информацию о своём сайте. Причём, похоже, без особых проблем, узнать о HTTP ошибках, с которыми столкнулся GoogleBot на сайте, у какой страницы самый высоки PageRank, основные ключевые слова сайта (как его видит Google).
Экспорт файлов от ревизии А до ревизии Б
Извечная моя проблема: есть проект в репозитории, его экспорт лежит на боевом сервере, в репозиторий делают определённое кол-во коммиротв, и есть нужда обновить боевой сервер. Делать экспорт из репозитория и заливать всё на сервер заново занимает слишком много времени, а чек-аут слишком много места на сервере. Репозиторий не даёт встроенной возможности сделать экспорт только изменённых файлов. Я сделал своё решение: Экспорт файлов из Subversion от ревизии А до ревизии Б
@params или params и нововведения с yield
О как… Вот взяли и отменили @params в Ruby on Rails. А что им стоит отменить?. Нет, ну оно осталось, но, как-бы не рекомендуется. То, что мы конкретные грабли всем подложили – мало кого теперь волнует. А ведь примеры в сети будут с @params наверняка валяться, книга у них тоже содержит @params… Почему они сами об этом ещё тогда не подумали? Что это что-то поломает… Вроде они как бы создатели… Они вообще не рекомендуют использовать instance variable ни в controller ни в view… Согласно всему @content_for_layout deprecated и теперь надо использовать yield, за исключением тех случаев, если instance variable инициализируем мы сами. Причём, то что по их мнению является тривиальным, для меня совсем не тривиально…
PHP GOTCHAS! – Они читают или они дети?
Пробежался по блогам и прочим ресурсам, утреннего ознакомления и наткнулся на статью PHP GOTCHAS! на Zend Developer Zone. Читал… Думал… Я чего-то не понял, люди, начинающие работать с PHP (даже и профессионалы), перед тем как начать, с документацией не знакомятся, или как? Все эти PHP GOTCHAS! – детские какие-то пинки интерпретатора с закрытыми глазами и ветром в мозгах. Конечно, не буду скрывать, я о таком поведении __toString в PHP5 не знал… Нет, я даже не ожидал такого (используется только при print и echo), так как с PHP5 я ещё не работал в плане кастинга типов (пока, почему-то в округе сервером с PHP 5 не сильно много), но если оно в PHP5 задумывалось только в таком плане, зачем было тратить время компилятора на такое убогое имплементированние полиморфизма? Их ответный комментарий kovrov’у был совсем не смешной…
Как быстро время летит
Стоило всерьёз заняться работой и праздниками (пасхой, день рожденьями, прочая эвакуация), как пропускаешь кучу всего интересного… Ruby on Rails дошли до версии 1.1.2. Techno Weenie выдал 5 причин, почему нужно создавать свои плугины, в чём я с ним даже очень согласен и пару мелких вещей, нужных для проекта, я загнал в плугины неделю назад. Josh Susser сравнил has_and_belongs_to_many и has_many :through со всеми вытекающими последствиями и возможностями. Теперь и мы знаем разницу. Вот бы только хостеры обнавились до Ruby 1.8.4, что-бы Rails 1.1.2 можно было во freeze использовать.
Ещё, где-то в блогах, я наткнулся на статью о RealApps CMS – Add Content Management to any Ruby on Rails Site – простеньком движке для динамического и часто обновляемого сайта на Ruby on Rails. Всё красиво в описании, особенно простота, с которой он должен установиться, но читая не только блоги программеров, а и других людей, которые заинтересованны в создании CMS следующего поколения, понимаешь, что пока все они со своими “RealApps CMS” в песочнице версии 1.0 играют. Хотя, может только потому, что эти люди рядом сидят, и тебе их идеи лучше знакомы?
