Часы на flash

Супер сайт посвященный часам на flash - http://flash-clocks.com/. Большое количество аналоговых, электронных, 3D, антикварных часов для сайтов. При желании можно заказать часы со своим дизайном за 10$.

Хаки и особенности верстки

Обрезанный select в ie

Если задать для select фиксированную ширину элемента, то в internet explorer всех версий текст в полях option также будет обрезаться до этой фиксированной ширины.
Решение1: просто javascript

<script type="text/javascript">
function expandSELECT(sel) {
  sel.style.width = '';
}

function contractSELECT(sel) {
  sel.style.width = '100px';
}
</script>

<select multiple style="width: 100px;" onfocus="expandSELECT(this);" onblur="contractSELECT(this);">
  <option></option>
</select>

Автоматизируем создание image map

Дали мне задачу - расставить image map на картинки. На одной картинке я честно измерял координаты и прописывал их в html. Когда очередь подошла до второй я понял, что не в состоянии заставить себя заниматься этой ерундой. Ставить Dreamweaver (там говорят очень удобно создавать эти самые image map) только для этой цели это глупость. Погуглив нашел замечательный веб сервис http://www.image-maps.com.

Заставляем lightbox2 работать с картинками, загруженными через ajax

При загрузке картинок через ajax Lightbox2 не открывает их в своем окне, а открываются они просто в окне браузера, т.к., по сути, это просто ссылка на картинку.

Как подружить модули Drupal advanced_forum и ajax_comments

Модули Drupal advanced_forum и ajax_comments являются достаточно интересными и полезными, но к сожалению они не работают вместе - в advanced_forum невозможно удалить комментарий через ajax_comments. Автор ajax_comments обещает исправить это в версии 2.0, но пока зарелизина 1.8 и надо как-то это исправлять.

Решил я это хаком ядра. Знаю, не очень правильно, но зато эффективно: в advanced_forum.module в функцию advanced_forum_preprocess_comment после 503 строчки добавил код

<?
  if (user_access('administer comments')) {
         $links['comment_delete'] = array(

select в views exposed filter

По-умолчанию в exposed filters используются поля textfield для cck полей типа string, куда пользователь может вбить значения фильтра. А что нам делать если требуется сделать такой вариант:

Т.е. нужно дать пользователю возможность выбрать значения полей, которые заполнены у нод.

Не открываются сайты

Недавно столкнулся с проблемой - не открывается большое количество сайтов, хотя на соседнем компьютере все сайты открывались нормально. Значит дело не в настройках сети/маршрутизации, а в вирусах. В подтверждении этого не открывались сайты антивирусников. Ну что ж, надо лечить.

Автоувеличение изображений в Drupal

Часто в блогах, да и просто на информационных сайтах, требуются изображения. Поставить их в контент не составляет проблем: для этого есть BuEditor + IMCE, FCKEditor, CKEditor, TinyMCE и другие визивиг редакторы. Но размещать в контенте картинку, скажем 1600х1600 пикселей, ужатой до 200х200 кощунство по отношению к трафику пользователей.

О чем должен помнить веб дизайнер при рисовании макета

За всю свою практику веб разработок приходилось работать с разными дизайнерами. Несомненно все талантливы по своему, но многие не знают особенности верстки сайтов и технические аспекты, с которыми сталкивается программист. Попробую их здесь расписать.

1. Arial Narrow.

Так любимый многими дизайнерами шрифт "Arial Narrow" есть далеко не на всех компьютреах и вместо него отображается "Arial", который более широк.

Оригинал Arial Narrow:

Делаем сообщения о новом письме privatemsg заметным

Модуль Drupal privatemsg всем хорош, кроме одной вещи - не всегда сразу понимаешь, что тебе пришло новое письмо от какого-либо пользователя. Стандартная надпись в меню "Сообщения (1 новое)" сливается с остальными пунктами. Самый простой способ (как я думаю) это добавить класс, в котором мы пропишем стили для индикации.

В template.php добавим обработчик:

function название_темы_menu_item_link($link) {
  //Добавляет стиль к индикатору нового сообщения
  if (ereg('Сообщения \(', $link['title'])){
         $link['localized_options']['attributes']['class'] = 'message-new';

RSS-материал