Вы, конечно, знаете о свободной карте OpenStreetMap. Это настоящая народная карта, создаваемая такими же людьми как и вы! Это такой же opensource-проект как Linux и как Википедия.
Конечно же, как и в других картах, в OpenStreetMap имеются ошибки, но в отличие от тех же Яндекс.Карт, где ошибки не исправляются годами из-за сложной бюрократической процедуры (я уже не говорю о намеренных ошибках), в OpenStreetMap всё гораздо проще и лучше для всех нас...
Подробнее..
Не так давно CloudMade выделил несколько приоритетных направлений, среди которых оказалась и навигация. Решено было создать специальный проект Navi Studio, который объединял бы в себе несколько более мелких сервисов и позволял пользоваться ими, для создания полноценного навигационного программного обеспечения. В Navi Studio вошли:
Работа закипела и уже появилось несколько приложений использующих данный проект. Но полноценной навигации без соблюдения правил ПДД не существует, а потому данному вопросу было также уделено не мало времени...
Подробнее..
Недавно наткнулся в сети на один занимательный интернет-сервис, именующийся Web 2.0 Suicide machine . Предназначен он для того, чтобы позволить людям, обремененным «социальной жизнью в интернете», в пару кликов удалить свои аккаунты на Facebook (в данный момент сервис блокирован администрацией по IP), Twitter, Linkedin
и Myspace. В общем-то судя по количеству положительных отзывов и «успешных очищений» — пипл хавает зависимые от социальных сетей успешно пользуются сервисом и довольны...
Подробнее..
Описание: хак, позволяющий выводить замещающий текст, если не заполнены дополнительные поля. Работает аналогично тегам [not-group=...], [not-aviable=...] и т.д.
По сути, если надо сделать так, чтобы при отсутствии текста в доп. поле, вместо него выводилось какое-то сообщение и т.д. - этот хак будет самым простым решением этой проблемы.
Итак, нам надо будет сделать одинаковые изменения в трех файлах движка:
/engine/modules/show.custom.php
/engine/modules/show.short.php
/engine/modules/show.full.php
По очереди открываем каждый из них,
находим в каждом из них такой кусок кода:
// Обработка дополнительных полей
$xfieldsdata = xfieldsdataload( $row['xfields'] );
foreach ( $xfields as $value ) {
$preg_safe_name = preg_quote( $value[0], ' );
if( empty( $xfieldsdata[$value[0]] ) ) {
$tpl->copy_template = preg_replace( '[xfgiven_{$preg_safe_name}](.*?)[/xfgiven_{$preg_safe_name}]'is , , $tpl->copy_template );
} else {
$tpl->copy_template = preg_replace( '[xfgiven_{$preg_safe_name}](.*?)[/xfgiven_{$preg_safe_name}]'is , 1 , $tpl->copy_template );
}
$tpl->copy_template = str_replace( [xfvalue_{$preg_safe_name}] , stripslashes( $xfieldsdata[$value[0]] ), $tpl->copy_template );
}
// Обработка дополнительных полей
и заменяем его на такой:
// Обработка дополнительных полей
$xfieldsdata = xfieldsdataload( $row['xfields'] );
foreach ( $xfields as $value ) {
$preg_safe_name = preg_quote( $value[0], ' );
if( empty( $xfieldsdata[$value[0]] ) ) {
$tpl->copy_template = preg_replace( '[xfgiven_{$preg_safe_name}](.*?)[/xfgiven_{$preg_safe_name}]'is , , $tpl->copy_template );
$tpl->copy_template = preg_replace( '[not-xfgiven_{$preg_safe_name}](.*?)[/not-xfgiven_{$preg_safe_name}]'is , 1 , $tpl->copy_template );
} else {
$tpl->copy_template = preg_replace( '[xfgiven_{$preg_safe_name}](.*?)[/xfgiven_{$preg_safe_name}]'is , 1 , $tpl->copy_template );
$tpl->copy_template = preg_replace( '[not-xfgiven_{$preg_safe_name}](.*?)[/not-xfgiven_{$preg_safe_name}]'is , , $tpl->copy_template );
}
$tpl->copy_template = str_replace( [xfvalue_{$preg_safe_name}] , stripslashes( $xfieldsdata[$value[0]] ), $tpl->copy_template );
}
// Обработка дополнительных полей
В результате имеем возможность выводить определенный текст в том случае, если не заполнено определенное дополнительное поле.
В конкретно приведенном мною примере, он использовался для вывода русской версии новости, если отсутствует ее перевод, но выбран другой язык. (я делал многоязычную версию сайта путем перевода текстов и надписей на картинках в шаблоне, и добавлением доп. полей для иноязычного заголовка и текстов полной и короткой новостей)
Пример shortstory.tpl:
post
post-info-bg
post-info-mid class= post-title
class= post-category
post-info-bg
0 cellspacing= 0 border= 0
class= post-story short-story}[/not-xfgiven_shortstory_en]
class= post-data {date}
float:right; color=#CA5829; padding-bottom:10px; [full-link]Read more »[/full-link]
Читайте: |
---|
Go - новый язык программирования от GoogleGoogle объявил о создании Go, нового языка программирования. Go, по утверждению авторов, сочетает в себе скорость разработки, характерную для динами... |
Microsoft для российских разработчиков: практика с элементами фундамен26 марта 2010 года в Центре международной торговли на Краснопресненской набережной Москвы компания Microsoft впервые в России провела конференцию дл... |
Apple Objective-C вошел в десятку популярных языков программированияКомпания TIOBE Software опубликовала очередной рейтинг популярности языков программирования, формируемый путем подсчета количества их упоминаний при... |
Safari 5.01 и галерея расширенийВ среду 28 июля 2010 Apple предприняло два замечательных шага. Первый и основной - возможность включения расширений без лишнего геморроя, второй - к... |
PDF Metamorphosis .Net открывает разработчикам встраиваемые технологииНовый компонент PDF Metamorphosis .Net позволит разработчикам легко создавать приложения с возможностью конвертации документов различного формата в ... |
Оздана новая система беспроводной связи - она в 10Ученые из Национального тайваньского университета разработали новую систему беспроводной передачи данных, которая позволит передавать инф... |
Как взломали TwitterВ Интернетах, наряду с iPad, сканерами в аэропортах и войне между Google и Apple, уже второй день подряд активно обсуждается тема взлома и... |