<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Winreview.ru</title>
	
	<link>http://winreview.ru</link>
	<description>И в этом тоже есть доля моей вины</description>
	<lastBuildDate>Tue, 21 Feb 2012 04:57:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Winreviewru" /><feedburner:info uri="winreviewru" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Winreviewru</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Тенденции современных интерфейсов операционных систем</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/E_SNJEDcVM0/</link>
		<comments>http://winreview.ru/tendencii-sovremennyx-interfejsov-operacionnyx-sistem/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 19:17:19 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Спецвыпуск]]></category>
		<category><![CDATA[Интерфейс]]></category>
		<category><![CDATA[Планшеты]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=331</guid>
		<description><![CDATA[Прошло уже приличное количество времени с момента выхода Windows 8 Developer Preview, и тема эта стала заезженной ещё задолго до появления Developer Preview как такого. Про Windows 8 не пишет сейчас только ленивый, и мне совсем уже не хочется пополнять ряды ездящих на волнах ажиотажа журналюг. Пусть вон MSWin.me этим занимается. WDP открыло пользователям видение [...]]]></description>
			<content:encoded><![CDATA[<p>Прошло уже приличное количество времени с момента выхода Windows 8 Developer Preview, и тема эта стала заезженной ещё задолго до появления Developer Preview как такого. Про Windows 8 не пишет сейчас только ленивый, и мне совсем уже не хочется пополнять ряды ездящих на волнах ажиотажа журналюг. Пусть вон <a href="http://mswin.me">MSWin.me </a> этим занимается.</p>
<p>WDP открыло пользователям видение Microsoft того, каким должна быть современная операционная система. Самым неоднозначным решением в этом видении предстал новый интерфейс системы, так называемый MetroUI. Появление этого новшества пробудило во мне желание перебрать несколько сред окружения "альтернативных" операционных систем, дабы узнать, как обстоят дела в андеграунде, и некоторыми выводами из этого всего я и хочу поделиться.</p>
<p><span id="more-331"></span></p>
<p>Интерфейс Metro знаком каждому посетителю магазина "Ашан", где вывески вида "Вход/Выход" оформлены аналогичным квадратно-плоским способом и аналогичными же значками. Microsoft позиционирует подобное решение как новый, более качественный способ организации взаимодействия пользователя с данными. По их задумке, на передний план должны выходить данные, а нюансы оформления, кучи кнопок на тулбарах, свистоперделки и неиспользуемые в данный момент элементы управления должны сгинуть с глаз долой. Идея подразумевает концентрацию вашего внимания исключительно на рабочем наборе данных, и ничего не должно отвлекать вас от работы/вконтакта/порнухи.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/tweetarama.png" rel="lightbox[331]"><img class="alignnone size-thumbnail wp-image-332" title="tweetarama" src="http://winreview.ru/wp-content/uploads/2012/02/tweetarama-500x400.png" alt="" width="500" height="400" /></a></p>
<p>Специально обученные приложения занимают весь экран и не имеют кнопок управления окном, вообще не имеют кнопок, не предназначенных для работы с данными. Специально не обученные программы теряют привычный лоск, становясь плоскими и квадратными.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/office15.png" rel="lightbox[331]"><img class="alignnone size-thumbnail wp-image-333" title="office15" src="http://winreview.ru/wp-content/uploads/2012/02/office15-500x356.png" alt="" width="500" height="356" /></a></p>
<p>Идея "убрать всё лишнее" звучит довольно привлекательно, но реализация её явно от лукавого. Microsoft не просто пытается сделать интерфейс простым и доступным, она преследует цель создания единого интерфейса для мобильных устройств и классических персоналок. На мой взгляд, это откровенно несовместимые вещи хотя бы потому, что устройства эти разного класса и решают совершенно разные задачи.</p>
<p>Переработанный способ взаимодействия с операционной системой вызывает у меня чувство сродни тому, как если бы передо мной перевернули табурет и заставили бы сесть верхом на ножки. Мотивация могла быть той же: ножки тоньше, легче, и не имеют дурацкой доски с лакированным покрытием, на которую могла бы отвлекаться моя задница вместо того, чтобы просто сидеть.</p>
<p>Microsoft меняет понятие классического рабочего стола. Вас пытаются убедить в том, что вы попали в чужеродное системе приложение, в некий режим совместимости. В Windows Consumer Preview (читай, Beta 1) для большего эффекта скрыта кнопка меню "Пуск". Раньше я фактически без потери фокуса на том, что я делал, мог открыть меню Пуск и быстро открыть документ/приложение. Теперь начальный экран Metro занимает собой весь экран, он стремительно несется через весь экран, сметая всё на пути. Он  отображает огроменные иконки, сваленные в одну кучу. Подобное решение хорошо будет смотреться на маленьких экранах планшетов с сенсорным экраном, где и приложений-то обычно в разы меньше. Но, позвольте узнать, в чем профит от него на десктопе? Постоянное переключение туда-сюда меня откровенно напрягает, а иконки а-ля "кирпич", способные нести хоть какую-то пользу для Metro-приложений, для обычных программ лишь занимают место, не имея никакой практической пользы. Интерфейс, заточенный на мобильные устройства и сенсорное управление, несет обладателю мыши и клавиатуры не легкое восприятие, а набор лишенных смысла телодвижений, которые просто не нужны.</p>
<p>В этом во всем для меня нет ничего принципиально нового или хотя бы удобного, и я не нахожу и вряд ли найду что-положительное в планшетном интерфейсе на обычной персоналке. Мобильник-переросток мне ни к чему.</p>
<h2> Выходим из Metro</h2>
<p>Унификация интерфейсов, как оказалось, на сегодняшний день очень распространенное явление, и занимаются ей не только в Microsoft. Apple переносит свои "планшетные" наработки с iPad на грядущий X Moutain Lion, а разработчики Ubuntu и среды Gnome идут обратным ходом.</p>
<p><strong>Unity</strong></p>
<p>Разработчики из <a href="http://www.canonical.com/">Canonical</a> делают всё, чтобы их детище смогло занять своё место на планшетах, для чего их собственная разработка - интерфейс Unity - имеет все предпосылки.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/unity1.png" rel="lightbox[331]"><img class="alignnone size-thumbnail wp-image-334" title="unity1" src="http://winreview.ru/wp-content/uploads/2012/02/unity1-500x400.png" alt="" width="500" height="400" /></a></p>
<p>Unity представляет собой некое подобие панели задач Windows 7, пристыкованное в левой части экрана, и как его оттуда оторвать, вы поймете далеко не сразу. И запущенные, и не запущенные приложение отображаются на этом тулбаре (назовем его так), тем самым экономя место на экране. Тонкая полоска сверху - это не панель задач, как может показаться на первый взгляд, это необычный велосипед, на котором катается меню активного окна.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/unity2.png" rel="lightbox[331]"><img class="alignnone size-thumbnail wp-image-335" title="unity2" src="http://winreview.ru/wp-content/uploads/2012/02/unity2-500x243.png" alt="" width="500" height="243" /></a></p>
<p>Строки меню у окна при этом нет, тем самым опять-таки увеличивается размер эффективного пространства окна</p>
<p>На практике это решение не кажется мне удобным. Поработав в Unity, я откровенно устал дергать мышь через весь экран. Я активно пользуюсь меню приложений, которые я использую, и надрачивание коврика нахожу невероятно непродуктивным занятием.</p>
<p>Другая особенность - отображение в Unity установленных программ наряду с теми, которые находятся в репозиториях. С одной стороны, это удобно - можно ознакомиться с программами, о существовании которых ты мог и не подозревать. С другой стороны, у опытного пользователя, который чётко знает, что ему нужно, подобное решение может вызывать раздражение. И действительно, если я пытаюсь запустить какую-то конкретную программу, всё остальное мне не нужно и является в настоящий момент лишней информацией, это посторонний шум. Вот здесь бы пригодился принцип MetroUI, но в сухом остатке здесь лишь схожая реализация - здоровенные иконки в куче. К чести Unity, иконки здесь хотя бы можно разбить по категориям, но кардинальным образом эта возможность ничего не меняет.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/unity3.png" rel="lightbox[331]"><img class="alignnone size-thumbnail wp-image-336" title="unity3" src="http://winreview.ru/wp-content/uploads/2012/02/unity3-500x287.png" alt="" width="500" height="287" /></a></p>
<p>Ложкой дегтя в бочке с Unity может служить также отсутствие такого понятия как "системный трэй". У неё своя собственная область уведомлений, куда могут помещать свои иконки лишь обладающие необходимой поддержкой программы. Это расширяет и без того неслабые в Linux возможности встать на грабли, создавая условия несовместимости софта. Установив расширение "Minimize to tray" в любой продукт Mozilla, вы свернете приложения в никуда и уже не вернете их к жизни.</p>
<p>Всё в Unity указывает на то, что этот интерфейс будет комфортно себя чувствовать на планшете, и мне с ним откровенно неуютно на обычном десктопе. Как я уже писал выше, я считаю, эти классы устройств попросту несовместимы, и пока я не вижу ни одного удачного гибридного решения. Юзабилити настольного варианта наносится ощутимый ущерб, и целесообразность скрещивания козла и паука довольно сомнительна.</p>
<p><strong>Gnome 3</strong></p>
<p>Интерфейс Gnome долгое время подкупал (меня, во всяком случае) вполне себе удачной реализацией основных функций управления приложениями и системой. Две панели с широкими возможностями настройки + так называемыми апплеты, один из которых - меню приложений, построенное по классическим канонам - этого всего достаточно, чтобы создать комфортное рабочее окружение. Третий "Гном" изменился радикально, и я не мог отделаться от ощущения, что имею дело с какой-то из ранних наработок Unity.</p>
<p>Из коробки третьего гнома предлагается:</p>
<ul>
<li>рабочий стол использовать в качестве стены для обоев. Иконок на нем нет никаких, и контекстного меню - тоже. Кому же придет в голову закидывать красивую картинку всякой чепухой. <em></em></li>
<li>полное отсутствие панели задач. Список запущенных программ нигде не видно. Вместо него есть некое Activities, чертовски напоминающее композицию объектов Unity: довольно похожий док с иконками слева, и панель с кучей иконок установленных приложений. Когда вы до упора закатите курсор мыши в верхний левый угол, оттуда появляется это самое Activities, содержащее в себе ещё и миниатюры открытых окон. Иконки запущенных программ тускло подсвечены в левой панели.<br />
<a href="http://winreview.ru/wp-content/uploads/2012/02/gnome3.png" rel="lightbox[331]"><img class="alignnone size-thumbnail wp-image-341" title="gnome3" src="http://winreview.ru/wp-content/uploads/2012/02/gnome3-500x400.png" alt="" width="500" height="400" /></a></li>
<li>окна не сворачивать. Кнопки управления состоянием окна в Gnome 3 отсутствуют. Окно можно закрыть единственной выжившей кнопкой, средний щелчок отправляет его на задний план. Клавиатурный хоткей сворачивания окон разбинден. Словом, всё говорит о том, что сворачивание окон, по мнению разработчиков Gnome, - лишняя операция и пережиток прошлого.</li>
</ul>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/gnome32.png" rel="lightbox[331]"><img class="alignnone size-thumbnail wp-image-340" title="gnome32" src="http://winreview.ru/wp-content/uploads/2012/02/gnome32-500x400.png" alt="" width="500" height="400" /></a></p>
<p>Опять таки, подобные новшества скорей уместны скорей на мобильных устройствах с тач-интерфейсом. Это очевидно, по-моему. Но из всех упомянутых ныне трендовых интерфейсов Gnome 3 является самой либеральным как изнутри, так и в возможностях настройки и допиливания. Немного повозившись, вы легко вернете кнопки управления окнами, рабочий стол и прочие милые и привычные плюшки (отличная <a href="http://linux-tansi.blogspot.com/2011/12/gnome-shell.html">статья Татьяны Серебренниковой</a> на эту тему). Среда имеет развитые механизмы поддержки мини-приложений и расширений на JS/CSS (<a href="http://habrahabr.ru/blogs/linux/120682/">мануал на хабре</a>). Я, если честно, не уверен, что именно эти технологии следует использовать в качестве технологий реализации модулей среды окружения, мне всегда казалось, что вычислительные ресурсы нужно тратить на что-то более полезное. Тем не менее, Microsoft также предлагает использовать аналогичные (ну или схожие) технологии для создания Метро-приложений.</p>
<p>Принципиальное отличие альтернативных ОС от топовых изделий Редмонда - это <del>напильник в каждом дистрибутиве</del> возможность <em>выбора</em>. Если использование планшетоподобных интерфейсов на обычном компьютере вас откровенно напрягает, здесь вы всегда можете использовать что-то другое. Для вас есть состоящее из свистоперделок чуть менее чем полностью KDE4, унаследовавшая прелести Gnome 2 среда XFCE, аскетичный LXDE и просто сверхскоростной оконный менеджер Fluxbox, который можно использовать "голым", если потребление ресурсов критично. Это далеко не полный перечень обитателей зоопарка приложений, пакетов, сред окружения и проектов, коих за долгую жизнь Linux скопилось немало. К счастью, далеко не все  разработчики кинулись бросаться в омут с головой.</p>
<p>Сей факт являет для меня небольшую отдушину в спёртом беспрестанном навязывании мнения,  что планшеты вытесняют обычные настольные ПК, что будущее за управлением пальцами. Я не представляю себя сидящим носом перед 27-дюймовым сенсорным монитором и лапающим здоровенные кнопки. Те задачи, которыми я привык заниматься и за которые мне платят, предполагают активное взаимодействие с клавиатурой, и открываться от неё, разводя руками по экрану, означает для меня снижение продуктивности работы.</p>
<p>Тенденция сложить все яйца в одну корзину мне откровенно претит. Всё хорошо<em> на своем месте</em>. К примеру, меня бы порадовал планшет с возможностью запустить любое стандартное Windows-приложение, если меня приспичит. Это на самом деле здорово. Но я просто не понимаю, почему я <em>обязан</em> работать с этим же интерфейсом там, где не должно быть в принципе <em>ничего</em> технически ориентированного на сенсорный ввод. Эта безумная гонка мне, как пользователю классической настольной системы, ничего не дает, и почему в её процессе меня пытаются списать со счетов, мне неясно.</p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/E_SNJEDcVM0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/tendencii-sovremennyx-interfejsov-operacionnyx-sistem/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://winreview.ru/tendencii-sovremennyx-interfejsov-operacionnyx-sistem/</feedburner:origLink></item>
		<item>
		<title>Сайт на e107. Ковыляем на костылях. Часть вторая</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/yDbzKpUVuVI/</link>
		<comments>http://winreview.ru/sajt-na-e107-kovylyaem-na-kostylyax-chast-vtoraya/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 21:15:53 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Решение проблем]]></category>
		<category><![CDATA[Сайт]]></category>
		<category><![CDATA[e107]]></category>
		<category><![CDATA[Луркослэнг]]></category>
		<category><![CDATA[Недостойные журналиста метафоры]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=316</guid>
		<description><![CDATA[Я обещал в прошлый раз, что расскажу свою методику подпирания костылями перевода и кеша e107, а также о реализации меню категорий. У меня есть желание начать с последнего, в своё время это был первый остро стоящий вопрос. Традиционно, целевая аудитория читает текст, нецелевая - смотрит симпатичного котика в конце статьи. Поехали. Меню категорий новостей в [...]]]></description>
			<content:encoded><![CDATA[<p>Я обещал в прошлый раз, что расскажу свою методику подпирания костылями перевода и кеша e107, а также о реализации меню категорий. У меня есть желание начать с последнего, в своё время это был первый остро стоящий вопрос.</p>
<p>Традиционно, целевая аудитория читает текст, нецелевая - смотрит симпатичного котика в конце статьи. Поехали.</p>
<p><span id="more-316"></span></p>
<h2>Меню категорий новостей в e107</h2>
<p>Меню категорий отсутствует в e107, как и многие полезные плюшки, из коробки. Новичок, установивший e107, тщетно ищет его во всех мыслимых и немыслимых местах, но ничего не находит. В отчаянии он отправляется на поиски решения на официальный сайт, и находит в репозитории соооветсвующий плагин.</p>
<p>Плагин там был далеко не всегда, и на панацею он не тянет, так как всё, что он делает - это простая выборка из таблицы категорий. Это открывает, с одной стороны, простор для творчества - вы можете начать с исправления корявой разметки и закончить созданием более человечного оформления этого меню. С другой стороны, не стоит заниматься хернёй.</p>
<p>Текущая версия e107 позволяет сгенерировать из категорий так называемые "Ссылки сайта" - блок ссылок, которые можно вывести в одно или несколько локаций разметки темы. Инструмент несколько несуразный, хотя пользоваться им просто, и в итоге можно заполучить весьма гибкое и нарядное меню категорий новостей.</p>
<p>Идем в "Настройки - Ссылки сайта". Создаем новую ссылку, абсолютно всё равно, какой у неё будет текст и на что она будет ссылаться - мы будем использовать её как заглушку для Генератора подменю. Единственное, что нас здесь на самом деле интересует, так это параметр "Категории ссылок". Используем любое свободное число, не задействованное ранее.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/sitelinks.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-317" title="e107 sitelinks" src="http://winreview.ru/wp-content/uploads/2012/02/sitelinks-500x188.jpg" alt="" width="500" height="188" /></a></p>
<p>Идем в "Настройки - Ссылки сайта - Генератор подменю". Генерируем ссылки из "Категории новостей", указывая в качестве родителя только что созданную заглушку:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/menugen.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-318" title="e107 menugen" src="http://winreview.ru/wp-content/uploads/2012/02/menugen-500x77.jpg" alt="" width="500" height="77" /></a></p>
<p>У вас получится что-то вроде этого:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/readymenu.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-319" title="e107 readymenu" src="http://winreview.ru/wp-content/uploads/2012/02/readymenu-500x166.jpg" alt="" width="500" height="166" /></a></p>
<p>Теперь просто удаляем заглушку, и все ссылки становятся ссылками первого уровня. Замечательно!</p>
<p>Добавляем в нашу тему шорткод {SITELINKS=flat:номер выбранной категории}, у меня вот так:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/readythemecode.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-320" title="e107 Меню категорий" src="http://winreview.ru/wp-content/uploads/2012/02/readythemecode-500x59.jpg" alt="" width="500" height="59" /></a></p>
<p>В данном случае я не заморачиваюсь разметкой, у меня нет задачи "сделать красиво", поэтому рендеринг "умолчальный" и выглядит неказисто:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/readytheme.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-321" title="Меню категорий новостей e107" src="http://winreview.ru/wp-content/uploads/2012/02/readytheme-500x259.jpg" alt="" width="500" height="259" /></a></p>
<p>Теперь вы знаете, куда и в каком направлении нужно двигаться. Реализовав меню категорий новостей e107 подобным образом, вы получите гибкие возможности по его оформлению, возможность размещать меню категорий в любом из вариантов  - как горизонтальном, так и вертикальном без дополнительных плагинов, и получите возможность произвольной сортировки меню категорий новостей. Пример хорошего, годного меню - на сайте <a href="http://windows8themes.ru/">Темы для Windows 8</a>.</p>
<p><em>Советую почитать раздел <a href="http://wiki.e107.org/?title=Styling_Individual_Sitelink_Menus">Wiki Styling Individual Sitelink Menus</a>, лишним не будет.</em></p>
<p><em></em>Реализовав наконец меню категорий, вы обнаружите, что название категорий выводится откровенно лажово. Хромает перевод, и нажав на категорию "Новости", вы увидите следующее:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/categorynews.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-322" title="Новости категории" src="http://winreview.ru/wp-content/uploads/2012/02/categorynews-500x288.jpg" alt="" width="500" height="288" /></a></p>
<p>Выглядит довольно несуразно, поэтому целесообразно убрать "<strong>Новости - Категории 'Новости'</strong>", и оставить лишь "Новости". Я перерыл добрую половину Wiki e107, но ответ нашел непосредственно в коде этой CMS.</p>
<p>При выводе названия категорий новостей e107 обрабатывает значение переменной <strong>$NEWSLISTTITLE</strong>. Если она задана, то в ней производится замена значения шорткода {NEWSCATEGORY} на реальное название. Не знаю, как написать это по-русски, покажу на реальных примерах.</p>
<p>Пример №1. Добавляем в файл темы theme.php следующую строчку:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>$NEWSLISTTITLE&nbsp;=&nbsp;'{NEWSCATEGORY}';</code></dd></dl>
<p>Результат будет таким:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/categorynews2.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-323" title="e107 Название категории" src="http://winreview.ru/wp-content/uploads/2012/02/categorynews2-500x279.jpg" alt="" width="500" height="279" /></a></p>
<p>Пример №2</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>$NEWSLISTTITLE&nbsp;=&nbsp;'Список&nbsp;статей&nbsp;раздела&nbsp;"{NEWSCATEGORY}"';</code></dd></dl>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/categorynews3.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-324" title="e107 Название категории новостей" src="http://winreview.ru/wp-content/uploads/2012/02/categorynews3-500x289.jpg" alt="" width="500" height="289" /></a></p>
<p>Таким образом, задав в файле темы theme.php значение переменной <strong>$NEWSLISTTITLE</strong>, вы можете переопределить название категории, появляющееся при просмотре входящих в неё публикаций. Это позволит придать вашему сайту более аккуратный вид.</p>
<h2>Борьба с кривым переводом e107</h2>
<p>Я думаю, не стоит вам объяснять, что следует связаться с переводчиком и сообщить о неточностях перевода e107, если вы таковые обнаружили. И тем не менее, никто не застрахован от ситуации, когда в следующий релиз CMS может попасть опять-таки не исправленный языковой файл, или же в результате мелкой ошибки в коде используется неверная константа из пресловутого файла. <em>Если вы давно пользуетесь e107, вы знаете, что такое случается довольно часто. </em>Кроме того, вы можете захотеть переопределить сообщения CMS согласно своим собственным потребностям.</p>
<p>Трогать файлы перевода есть дурной тон. Обновившись, вы можете случайно потереть свои локализованные ресурсы. Поэтому свои "хаки" целесообразно вносить не в языковые файлы e107, а в языковые файлы темы.</p>
<p>Разберем небольшой актуальный пример.</p>
<p>Итак, у меня установлена последняя версия e107, и в её код закралась ошибка - вместо того, чтобы сообщать посетителю, что для комментирования новостей ему необходимо быть зарегистрированным/залогиниться, система рапортует, что комментарии заблокированы.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/wrongtrans1.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-325" title="e107 Неверный перевод" src="http://winreview.ru/wp-content/uploads/2012/02/wrongtrans1-451x500.jpg" alt="" width="451" height="500" /></a></p>
<p>Воспользуемся ситуацией, и переопределим строковую константу. Нас интересует константа define("COMLAN_328", "Комментарии заблокированы");, заданная в файле:</p>
<p>/e107_languages/Russian/lan_comment.php</p>
<p>Я переопределю её, добавив в файл /e107_themes/leaf/languages/Russian.php следующую строку:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>define("COMLAN_328",&nbsp;"Вы&nbsp;должны&nbsp;войти,&nbsp;чтобы&nbsp;отправлять&nbsp;комментарии&nbsp;на&nbsp;этот&nbsp;сайт&nbsp;-&nbsp;пожалуйста,&nbsp;либо&nbsp;войдите,&nbsp;либо&nbsp;-&nbsp;если&nbsp;вы&nbsp;еще&nbsp;не&nbsp;зарегистрированы&nbsp;-&nbsp;щелкните");</code></dd></dl>
<p>Этот корявый текст - тот самый текст, который должна была бы отобразить  e107, если бы ошибки не было. Я взял его исключительно для примера. И тем не менее, поставленной цели мы добились:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/wrongtrans2.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-326" title="e107 Переопределенная лолкализация" src="http://winreview.ru/wp-content/uploads/2012/02/wrongtrans2-396x500.jpg" alt="" width="396" height="500" /></a></p>
<p>Теперь я уберу переопределение константы, и исправлю ошибку.</p>
<p>Ошибка, кстати, будет поправлена в следующем релизе, и находится она в файле e107_handlers/comment_class.php, в строке 602, которая выглядит так:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>if&nbsp;(($lock&nbsp;!=&nbsp;'1')&nbsp;&amp;&amp;&nbsp;($this-&gt;getCommentPermissions()&nbsp;===&nbsp;'rw'))</code></dd></dl>
<p>Её нужно привести к виду:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>if&nbsp;($lock&nbsp;!=&nbsp;'1')&nbsp;</code></dd></dl>
<p><em>Таки бездумно копировать куски кода есть плохая практика. Не все в e107 Inc это знают, видимо</em>.</p>
<p>Поправив ошибку и убрав строковую константу из языкового файла темы, мы получим тот же самый результат, что ожидаемо:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/wrongtrans3.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-327" title="e107 Перевод" src="http://winreview.ru/wp-content/uploads/2012/02/wrongtrans3-382x500.jpg" alt="" width="382" height="500" /></a></p>
<p>Теперь, когда всё работает так, как нужно, разберем второй случай - облагородим перевод, снова переопределив строковую константу. На этот раз используется "правильная" константа COMLAN_6, именно в неё записана феерическая бредятина на рисунке выше.</p>
<p>Добавим в наш Russian.php темы строки вида:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>define('COMLAN_6','Оставлять&nbsp;комментарии&nbsp;могут&nbsp;только&nbsp;зарегистрированные&nbsp;пользователи.&nbsp;Пожалуйста,&nbsp;&lt;a&nbsp;href="login.php"&gt;войдите&lt;/a&gt;&nbsp;или&nbsp;&lt;a&nbsp;href="signup.php"&gt;зарегистрируйтесь&lt;/a&gt;.');<br>define('COMLAN_321','');<br>define('COMLAN_322','');</code></dd></dl>
<p>В данной реализации костылей мы:</p>
<ul>
<li>Во-первых, подменили текст сообщения в COMLAN_6</li>
<li>Во-вторых, это сообщение составное, и необходимо затереть его оставшиеся части. COMLAN_321 содержит текст ссылки, а COLMAN_322 - это "чтобы зарегистрироваться".</li>
</ul>
<p>Альтернативный вариант реализации переопределения строковых ресурсов в данном конкретном случае мог бы быть таким:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>define('COMLAN_6','Оставлять&nbsp;комментарии&nbsp;могут&nbsp;только&nbsp;зарегистрированные&nbsp;пользователи.&nbsp;Пожалуйста,&nbsp;&lt;a&nbsp;href="login.php"&gt;войдите&lt;/a&gt;&nbsp;или&nbsp;');<br>define('COMLAN_321','зарегистрируйтесь');<br>define('COMLAN_322','');</code></dd></dl>
<p>Второй вариант - более правильный.</p>
<p>Таким образом, можно переопределить любую строковую константу, значение которой вас не устраивает, будь то строка в системе локализации загрузок, либо где-то ещё. Добавив новое значение в файл темы, вы затрете старое, и получите требуемый результат, не меняя основных файлов CMS. Вот ещё парочка актуальных костылей для перевода:</p>
<ul>
<li>В "Загрузках" перепутаны строки "По возрастанию" и "По убыванию". Добавляем в файл Тема\Languages\Russian.php строки<br />
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>define("LAN_dl_26",&nbsp;"По&nbsp;убыванию");<br>define("LAN_dl_25",&nbsp;"По&nbsp;возрастанию");</code></dd></dl></li>
<li>Ещё одна ошибка в комментариях, для её устранения добавляем строку <dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>define("COMLAN_12",&nbsp;"Пользователь");</code></dd></dl> В оригинале написано "Потльзователь".</li>
</ul>
<h2>Исправляем ошибку с заголовком новостей в e107 при включенном кэше</h2>
<p>Кеш в e107 вполне себе годный, он действительно сокращает время загрузки страниц и снижает нагрузку на сервер, так как тело статьи не парсится из шорткодов, база не дергается запросами, а всё содержимое статьи берется из статического php-файла простым Include.</p>
<p>Но если включить кэш, вместо заголовка новости (тэг title) вы увидите название сайта+слово "Комментарии". Это уж совсем непростительный косяк, ибо после этого поисковые системы будут смотреть на ваш сайт, как на говно.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/brokencache.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-328" title="e107 Заголовок новости со включенным кэшем" src="http://winreview.ru/wp-content/uploads/2012/02/brokencache-500x329.jpg" alt="" width="500" height="329" /></a></p>
<p>Если вы посмотрите код, вы увидите, что проблема заключается в том, что в режиме кэширования не задается значение константы e_PAGETITLE, именно она должна задавать заголовок страницы с новостью. Давайте подопрем систему очередным костылем, для чего добавим несколько строчек в уже надоевший нам файл theme.php.</p>
<p>Суть костыля заключается в том, что если мы смотрим новость, то нужно "дёрнуть" из базы данных заголовок текущей новости, и положить его в e_PAGETITLE. Написанный и используемый мной код выглядит следующим образом:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code><br>//e_PAGENAME&nbsp;for&nbsp;cache<br>$temp_query&nbsp;=&nbsp;explode(".",&nbsp;e_QUERY);<br>$action&nbsp;=&nbsp;$temp_query[0];  &nbsp;   &nbsp;   &nbsp; //&nbsp;Usually&nbsp;says&nbsp;'comment'&nbsp;-&nbsp;may&nbsp;say&nbsp;'reply'<br>$table&nbsp;=&nbsp;$temp_query[1];  &nbsp;   &nbsp;   &nbsp; //&nbsp;Table&nbsp;containing&nbsp;item&nbsp;associated&nbsp;with&nbsp;comment(s)<br>$id &nbsp;=&nbsp;intval(varset($temp_query[2],&nbsp;0));  &nbsp; //&nbsp;ID&nbsp;of&nbsp;item&nbsp;associated&nbsp;with&nbsp;comments&nbsp;(e.g.&nbsp;news&nbsp;ID)<br>if&nbsp;(&nbsp;($action&nbsp;==&nbsp;'comment')&nbsp;&amp;&amp;&nbsp;($table&nbsp;==&nbsp;'news')&nbsp;)&nbsp;{<br>$query&nbsp;=&nbsp;"SELECT&nbsp;n.news_title&nbsp;FROM&nbsp;#news&nbsp;AS&nbsp;n&nbsp;WHERE&nbsp;n.news_id={$id}";<br>if&nbsp;($sql-&gt;db_Select_gen($query))&nbsp;{<br>$newsitem&nbsp;=&nbsp;$sql-&gt;db_Fetch();<br>$subject&nbsp;=&nbsp;$tp-&gt;toForm($newsitem['news_title']);<br>define("e_PAGETITLE",&nbsp;"{$subject}");<br>unset($subject);<br>unset($newsitem);<br>unset($query);<br>}<br>}<br>unset($action);<br>unset($table);<br>unset($id);<br>unset($temp_query);</code></dd></dl>
<p>Ничего сложного. Режим отображения новости определяется по URL, и если это полная новость - то выбираем заголовок из базы. Согласитесь, так гораздо лучше:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/brokencache2.jpg" rel="lightbox[316]"><img class="alignnone size-thumbnail wp-image-329" title="e107 Заголовок новости при включенном кэше" src="http://winreview.ru/wp-content/uploads/2012/02/brokencache2-500x412.jpg" alt="" width="500" height="412" /></a></p>
<hr />
<p>На этом я завершаю свой безблагодатный опус. Подобьём итоги: мы научились исправлять недочеты перевода без правки основных файлов e107, научились чинить заголовок статьи при включенном кэше, научились задавать заголовок категории новостей, и самое главное - мы теперь знаем быстрый способ сгенерировать меню категорий новостей для e107.</p>
<p>В следующий раз я попробую рассказать о переопределении стандартных BB-кодов, и начну делиться своими плагинами. Один из важнейших плагинов - это оповещение поисковых систем об обновлении вашего сайта, и с него я пожалуй и начну. Надеюсь,  те, кто пользуется e107, вынесли для себя из моей писанины хоть что-то полезное. Остальным - это:<a href="http://winreview.ru/wp-content/uploads/2012/02/kitty.jpg" rel="lightbox[316]"><img class="size-full wp-image-330 aligncenter" title="Котёнок - скукотёнок" src="http://winreview.ru/wp-content/uploads/2012/02/kitty.jpg" alt="" width="450" height="338" /></a></p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/yDbzKpUVuVI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/sajt-na-e107-kovylyaem-na-kostylyax-chast-vtoraya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://winreview.ru/sajt-na-e107-kovylyaem-na-kostylyax-chast-vtoraya/</feedburner:origLink></item>
		<item>
		<title>Cайт на e107. Ковыляем на костылях. Часть первая</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/xks8SCPSg1c/</link>
		<comments>http://winreview.ru/sozdanie-sajta-na-e107-kovylyaem-na-kostylyax-chast-pervaya/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 20:24:34 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Решение проблем]]></category>
		<category><![CDATA[Сайт]]></category>
		<category><![CDATA[e107]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=302</guid>
		<description><![CDATA[Приветствую вас, редкий вменяемый читатель. Я таки решился поделиться своим  личным опытом создания сайтов на e107. И этим туповатым вступлением я анонсирую начало серии публикаций, которые вам позволят худо-бедно справляться с недостатками CMS e107 и выжать из неё немного больше, чем то, что есть из коробки. В конце концов, всегда найдутся люди, по тем или [...]]]></description>
			<content:encoded><![CDATA[<p>Приветствую вас, редкий вменяемый читатель. Я таки решился поделиться своим  личным опытом создания сайтов на e107. И этим туповатым вступлением я анонсирую начало серии публикаций, которые вам позволят худо-бедно справляться с недостатками CMS e107 и выжать из неё немного больше, чем то, что есть из коробки. В конце концов, всегда найдутся люди, по тем или иным причинам имеющие с ней дело.</p>
<p>Я не намерен писать учебник по e107 и/или рассказывать, как её установить, настроить, описывать её фичи. Учебники писать у меня получается через то, на чем вы сидите (мир и покой тебе, учебник по NSIS). Писать я буду о том, как подставить костыли под наиболее хромающие места, как реализовать хаки вроде переопределения стандарных bb-кодов и шорткодов, и поделюсь своими плагинами. Все заинтересовавшиеся читают продолжение, остальным покажу котёнка в конце статьи.<span id="more-302"></span></p>
<p>Вы установили e107/получили в подарок от друга сайт на ней/whatever, и чаще всего вы будете иметь дело с админкой. Начиная с релиза e107 1.0 с ней поставляется новая дефолтная тема, сделанная "для удобства пользователей". Именно она используется как тема админ-центра по умолчанию, и начать стоит с её выпиливания.</p>
<p>Почему? Потому что:</p>
<ul>
<li>в ней не реализованы механизмы сохранения пресетов для того, что вы постите, и уже этого вполне достаточно, чтобы от неё избавиться.</li>
</ul>
<ul>
<li>если нет - посмотрите файлы theme.php и style.css.</li>
</ul>
<p>Разумно использовать старый вариант темы для админки, это тема Jayya.</p>
<h2>Тема админ-центра e107</h2>
<p><em>Вообще, темы в e107  - это форменное безумие. Если судить по верстке, то их создатели застряли где-то в начале 200х годов, а размеры шрифтов говорят о том, что делали их под разрешение 800x600.</em></p>
<p>Итак, чтобы не ломать глаза об шрифты Jayya, целесообразно убрать ограничения на их размеры, подредактировав style.css. А чтобы не потереть свои изменения при очередном апдейте, есть смысл склонировать тему, поместив её в папку Jayya2.</p>
<p>Если вы склонировали Jayya, то сразу поправьте пути к локализации в theme.php:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/jayya2-1.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-303" title="Создание сайта на e107. Клонирование Jayya" src="http://winreview.ru/wp-content/uploads/2012/02/jayya2-1.jpg" alt="" width="577" height="147" /></a></p>
<p>В этом же случае есть смысл поправить и описание темы, которые вы будете видеть в админке, чтобы не путать оригинальную тему с клоном:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/jayya2-2.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-304" title="Создание сайта на e107. Клонирование Jayya" src="http://winreview.ru/wp-content/uploads/2012/02/jayya2-2.jpg" alt="" width="302" height="80" /></a></p>
<p>Теперь непосредственно шрифты. Я предпочитаю дать браузеру полную свободу в этом вопросе, поэтому просто удаляю все основные стили шрифтов в файле style.css:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/jayya2-3.jpg" rel="lightbox[302]"><img class="alignnone size-thumbnail wp-image-305" title="Создание сайта на e107. Клонирование Jayya" src="http://winreview.ru/wp-content/uploads/2012/02/jayya2-3-500x64.jpg" alt="" width="500" height="64" /></a></p>
<p>Находим тему в админке, ставим её темой админ-центра, видим появившиеся кнопки сохранения пресетов:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/jayya2-4.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-306" title="Создание сайта на e107. Клонирование Jayya" src="http://winreview.ru/wp-content/uploads/2012/02/jayya2-4.jpg" alt="" width="219" height="255" /></a></p>
<p>ПРОФИТ!!</p>
<h2>Тема сайта</h2>
<p>Как я уже говорил, хороших тем для этой CMS "из коробки" нет. (Впрочем, после некоторого допила можно привести умолчанию тему Core во <a title="Темы для Windows 8" href="http://windows8themes.ru/">вполне презентабельный вид</a>). Делайте самостоятельно или попробуйте подобрать что-то <a href="http://e107.org/e107_plugins/forum/forum_viewforum.php?10">вот здесь</a>, где иногда попадаются вполне себе годные варианты. Я лично, запуская <a href="http://winaero.com/">Winaero</a>, взял штатную тему Human Condition и немного переверстал её. <em>Вид вышел неказистый, да ну и чёрт с ней. Для странички со списком софта и так сойдет</em>. Ну а я в целях показательных буду использовать и терзать на протяжении всего цикла публикаций тему Leaf.</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/leaf-1.jpg" rel="lightbox[302]"><img class="alignnone size-thumbnail wp-image-307" title="Создание сайта на e107" src="http://winreview.ru/wp-content/uploads/2012/02/leaf-1-493x500.jpg" alt="" width="493" height="500" /></a></p>
<p>Если вы уже определились с темой и осмотрелись, самое время подставлять костыли. Костыли преимущественно будем подставлять при помощи файла темы, то бишь theme.php.</p>
<p><strong>Использование файла темы для доработки/переопределения штатных фич снижает трудоемкость замены основной темы сайта, избавляет вас от необходимости править файлы "ядра" движка и упрощает обновление CMS e107.</strong></p>
<p>Первое, что вы наверняка захотите сделать, это избавиться от идиотизма с отображением комментариев.</p>
<h2>Отображение полной новости вместе с комментариями в e107</h2>
<p>Первое, обо что я и Глеб споткнулись, запустив Winreview, было именно отображение комментариев. e107 отображает либо анонс+комментарии, либо анонс+полный текст.</p>
<p>Анонс, комментариев не видно:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/announce.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-308" title="Создание сайта на e107" src="http://winreview.ru/wp-content/uploads/2012/02/announce.jpg" alt="" width="470" height="201" /></a></p>
<p>Полный текст новости, комментариев не видно:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/fulltext.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-309" title="Создание сайта на e107" src="http://winreview.ru/wp-content/uploads/2012/02/fulltext.jpg" alt="" width="473" height="340" /></a></p>
<p>Пытаемся оставить комментарий, получаем анонс+комментарии:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/comments.jpg" rel="lightbox[302]"><img class="alignnone size-thumbnail wp-image-310" title="Создание сайта на e107" src="http://winreview.ru/wp-content/uploads/2012/02/comments-385x500.jpg" alt="" width="385" height="500" /></a></p>
<p><em>Слишком много телодвижений, чтобы почитать комментарии. Бред, ИМХО.</em></p>
<p>Вариант анонс+полный текст+комментарии почему-то недоступен ни в одной из тем, хотя он реализован в движке и может использоваться. <em>Я по дури в свое время кинулся дорабатывать "системные" файлы, призывая на себя проклятье геморройного обновления, делать этого ни в коем случае не стоит. Эта задача решается по-другому.</em></p>
<p>Чтобы задействовать означенную выше фичу, нужно создать аж три новых шорткода, один на замену {NEWSTITLE}, второй - на замену {EXTENDED}, и третий - это {NEWSBODY}, который нужно научить отображать полный текст новости для случая, когда пользователь читает комментарии.</p>
<p>И здесь мы применим первый трюк - <strong>переопределение стандартных шорткодов e107</strong>.</p>
<p>Как задаются шорткоды в теме , можно увидеть в той же теме leaf, в файле theme.php. В общем случае эта операция сводится до создания файла с кодом <strong>file.sc</strong>  и добавления в theme.php записи <dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>$register_sc[]&nbsp;=&nbsp;'FILE';</code></dd></dl></p>
<p>Это документированная возможность. Но в документации не указано, что если к теме подключить SC-файл с именем уже имеющегося, стандратного шорткода, он будет заменен на ваш шорткод. Воспользуемся  этим хаком и переопределим пресловутую тройку шорткодов.</p>
<p>Регистрируем наши шорткоды обычным способом, добавляя в строчки в файл theme.php:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/shortcodes-1.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-311" title="Создание сайта на e107. Шорткоды" src="http://winreview.ru/wp-content/uploads/2012/02/shortcodes-1.jpg" alt="" width="439" height="344" /></a></p>
<p>Теперь необходимо создать три SC-файла и разместить их рядом с файлом theme.php.</p>
<p>Файлы <strong>newstitle.sc</strong> и <strong>extended.sc</strong> нужно создать на основе кода системных шоркодов, доработав формирование ссылки вида comment.php?comment.news.10 (<em>взамен news.php?news.extend и news.php?news.item</em>).</p>
<p>Привожу код каждого из файлов, которым пользуюсь сам:</p>
<p><strong>extended.sc</strong></p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>global&nbsp;$tp;<br>$news_item&nbsp;=&nbsp;getcachedvars('current_news_item');<br>$param&nbsp;=&nbsp;getcachedvars('current_news_param');<br>#if&nbsp;($news_item['news_extended']&nbsp;&amp;&amp;&nbsp;(strpos(e_QUERY,&nbsp;'extend')&nbsp;===&nbsp;FALSE&nbsp;||&nbsp;$parm&nbsp;==&nbsp;"force"))<br>if&nbsp;($news_item['news_extended']&nbsp;&amp;&amp;&nbsp;(strpos(e_QUERY,&nbsp;'extend')&nbsp;===&nbsp;FALSE&nbsp;||&nbsp;$parm&nbsp;==&nbsp;"force")&nbsp;&amp;&amp;&nbsp;strpos(e_QUERY,&nbsp;'comment.news')&nbsp;===&nbsp;FALSE)<br>{<br>if&nbsp;(defined("PRE_EXTENDEDSTRING"))<br>{<br>$es1&nbsp;=&nbsp;PRE_EXTENDEDSTRING;<br>}<br>if&nbsp;(defined("POST_EXTENDEDSTRING"))<br>{<br>$es2&nbsp;=&nbsp;POST_EXTENDEDSTRING;<br>}<br>if&nbsp;(isset($_POST['preview']))<br>{<br>return&nbsp;$es1.EXTENDEDSTRING.$es2."&lt;br&nbsp;/&gt;".$tp-&gt;toHTML($news_item['news_extended'],&nbsp;TRUE,&nbsp;'BODY,&nbsp;fromadmin',&nbsp;$news_item['news_author']);<br>}<br>else<br>{<br>return&nbsp;$es1."&lt;a&nbsp;class='".$GLOBALS['NEWS_CSSMODE']."_extendstring'&nbsp;href='".e_HTTP."comment.php?comment.news.".$news_item['news_id']."'&gt;".EXTENDEDSTRING."&lt;/a&gt;".$es2;<br>}<br>}<br>else<br>{<br>return&nbsp;"";<br>}</code></dd></dl>
<p><strong>newstitle.sc:</strong></p>
<p><strong></strong><dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>global&nbsp;$tp;<br>$news_item&nbsp;=&nbsp;getcachedvars('current_news_item');<br>$param&nbsp;=&nbsp;getcachedvars('current_news_param');<br>return&nbsp;"&lt;a&nbsp;href='".e_HTTP."comment.php?comment.news.".$news_item['news_id']."'&gt;".$tp&nbsp;-&gt;&nbsp;toHTML($news_item['news_title'],&nbsp;TRUE,&nbsp;'TITLE')."&lt;/a&gt;";</code></dd></dl></p>
<p><strong>newsbody.sc</strong></p>
<p><strong></strong><dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>global&nbsp;$tp;<br>$news_item&nbsp;=&nbsp;getcachedvars('current_news_item');<br>$param&nbsp;=&nbsp;getcachedvars('current_news_param');<br>$news_body&nbsp;=&nbsp;$tp&nbsp;-&gt;&nbsp;toHTML($news_item['news_body'],  &nbsp; TRUE,&nbsp;'BODY,&nbsp;fromadmin',&nbsp;$news_item['news_author']);<br>if($news_item['news_extended']&nbsp;&amp;&amp;&nbsp;(isset($_POST['preview'])&nbsp;||&nbsp;strpos(e_QUERY,&nbsp;'extend')&nbsp;!==&nbsp;FALSE&nbsp;||&nbsp;strpos(e_QUERY,&nbsp;'comment.news')&nbsp;!==&nbsp;FALSE))<br>{<br>$news_extended&nbsp;=$tp&nbsp;-&gt;&nbsp;toHTML($news_item['news_extended'],&nbsp;TRUE,&nbsp;'BODY,&nbsp;fromadmin',&nbsp;$news_item['news_author']);<br>$news_body&nbsp;.=&nbsp;$news_extended;<br>}<br>return&nbsp;$news_body;</code></dd></dl></p>
<p>Результат этой возни, несомненно, радует:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/shortcodes-2.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-312" title="Создание сайта на e107. Шорткоды" src="http://winreview.ru/wp-content/uploads/2012/02/shortcodes-2.jpg" alt="" width="445" height="598" /></a></p>
<p>Если вы решите заменить функциональность ссылки "Комментарии", чтобы она тоже  вела на страницу полной новости с комментариями, переопределите шорткод  {NEWSCOMMENTS} аналогичным образом, рабочий код для <strong>newcomments.sc</strong>:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>global&nbsp;$pref,&nbsp;$sql;<br>if($pref['comments_disabled']&nbsp;==&nbsp;1)<br>{<br>return;<br>}<br>$news_item&nbsp;=&nbsp;getcachedvars('current_news_item');<br>$param&nbsp;=&nbsp;getcachedvars('current_news_param');<br>if&nbsp;(varsettrue($pref['multilanguage']))<br>{  &nbsp; //&nbsp;Can&nbsp;have&nbsp;multilanguage&nbsp;news&nbsp;table,&nbsp;monlingual&nbsp;comment&nbsp;table.&nbsp;If&nbsp;the&nbsp;comment&nbsp;table&nbsp;is&nbsp;multilingual,&nbsp;it'll&nbsp;only&nbsp;count&nbsp;entries&nbsp;in&nbsp;the&nbsp;current&nbsp;language<br>$news_item['news_comment_total']&nbsp;=&nbsp;$sql-&gt;db_Select("comments",&nbsp;"*",&nbsp;"comment_item_id='".$news_item['news_id']."'&nbsp;AND&nbsp;comment_type='0'&nbsp;");<br>}<br>if&nbsp;($pref['comments_icon']&nbsp;&amp;&amp;&nbsp;$news_item['news_comment_total'])<br>{<br>$sql-&gt;db_Select('comments',&nbsp;'comment_datestamp',&nbsp;"comment_item_id='".intval($news_item['news_id'])."'&nbsp;AND&nbsp;comment_type='0'&nbsp;ORDER&nbsp;BY&nbsp;comment_datestamp&nbsp;DESC&nbsp;LIMIT&nbsp;0,1");<br>list($comments['comment_datestamp'])&nbsp;=&nbsp;$sql-&gt;db_Fetch();<br>$latest_comment&nbsp;=&nbsp;$comments['comment_datestamp'];<br>if&nbsp;($latest_comment&nbsp;&gt;&nbsp;USERLV&nbsp;)<br>{<br>$NEWIMAGE&nbsp;=&nbsp;$param['image_new_small'];<br>}<br>else<br>{<br>$NEWIMAGE&nbsp;=&nbsp;$param['image_nonew_small'];<br>}<br>}<br>else<br>{<br>$NEWIMAGE&nbsp;=&nbsp;$param['image_nonew_small'];<br>}<br>return&nbsp;($news_item['news_allow_comments']&nbsp;?&nbsp;$param['commentoffstring']<br>:<br>''.($pref['comments_icon']&nbsp;?&nbsp;$NEWIMAGE&nbsp;:&nbsp;'')."&nbsp;&lt;a&nbsp;href='".e_HTTP."comment.php?comment.news.".$news_item['news_id']."'&gt;".$param['commentlink'].$news_item['news_comment_total'].'&lt;/a&gt;');</code></dd></dl>
<hr />
<p>&nbsp;</p>
<p>Хватит для начала. Подобьём итоги. Сегодня мы: увеличили <del>член</del> юзабильность админки, в частности добились читабельности её шрифтов и получили назад пресеты, научились переопределять штатные шорткоды и побороли отображение контента, добившись вывода новости и комментариев на одной странице.</p>
<p>В следующий раз мы рассмотрим, как подставлять костыли под кривой перевод и под кривой кэш, а также поразмыслим на предмет меню категорий новостей. Надеюсь, целевая аудитория найдет материал полезным, ну а всем остальным - обещанный котик:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/02/Animals_Cats_Small_cat_005241_.jpg" rel="lightbox[302]"><img class="alignnone size-full wp-image-313" title="Котик" src="http://winreview.ru/wp-content/uploads/2012/02/Animals_Cats_Small_cat_005241_.jpg" alt="" width="650" height="488" /></a></p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/xks8SCPSg1c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/sozdanie-sajta-na-e107-kovylyaem-na-kostylyax-chast-pervaya/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://winreview.ru/sozdanie-sajta-na-e107-kovylyaem-na-kostylyax-chast-pervaya/</feedburner:origLink></item>
		<item>
		<title>Debian: свинья на флэшке</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/qAPdRforeZ4/</link>
		<comments>http://winreview.ru/debian-svinya-na-fleshke/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 18:15:24 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Решение проблем]]></category>
		<category><![CDATA[Mount]]></category>
		<category><![CDATA[Файловая система]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=300</guid>
		<description><![CDATA[Если вы внимательно следите за безумием, вот уже третий год творящемся здесь на Winreview.ru, то вы наверняка в курсе, каким был мой путь в мир СПО и GNU/Linux в частности. Все свои попытки, как успешные, так и не очень, познакомиться с яркими представителями этого необычного, странного и жесткого мира я начинал с установки системы с [...]]]></description>
			<content:encoded><![CDATA[<p>Если вы внимательно следите за безумием, вот уже третий год творящемся здесь на Winreview.ru, то вы наверняка в курсе, каким был мой путь в мир СПО и GNU/Linux в частности. Все свои попытки, как успешные, так и не очень, познакомиться с яркими представителями этого необычного, странного и жесткого мира я начинал с установки системы с флэшки. Как оказалось, даже в таком невинном действии может порыться собака, и подложить свинью.</p>
<p><span id="more-300"></span></p>
<p>Как у вас, уважаемый читатель, обстоят дела с приводом компакт-дисков? Пользуетесь? Я тут недавно обнаружил, что он у меня вообще не подключен. Я даже не помню, когда я его отключил, видимо, это было очень давно. Как-то совершенно незаметно для самого себя я вывел из эксплуатации носитель под названием «компакт-диск». Его мне полностью заменили флэшки: большие, маленькие, мои и чужие — они совершенно однозначно удобнее, быстрее, компактней, и информацию на них записывать - одно удовольствие. Операционные системы, стоящие на всех моих компьютерах, все до одной были установлены с флеш-накопителей.</p>
<p>Мои операционные системы — это в том числе и два Debian, которых не миновала та же участь во время установки.</p>
<p>В Debian по умолчанию настроено автомонтирование сменных носителей: система притворяется дружелюбной, и делает вид, что особых навыков и наличия инженерной мысли от пользователя не требует. Дескать, пихай флэшку и забирай свои файлы. И всё бы хорошо, но вот периодически красноглазое стадо пингвинов, вероломно действующее невидимо для ослепленного красотами интерфейса юзера, откровенно лажало. Вместо подключения носителя PCManFM рассказывал мне о том, что моя флэшка имеет неверный тип файловой системы.</p>
<h3>mount: wrong fs type, bad option, bad superblock on /dev/sdb1</h3>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/fstab.jpeg" rel="lightbox[300]"><img class="alignnone size-full wp-image-301" title="automount failure" src="http://winreview.ru/wp-content/uploads/2012/01/fstab.jpeg" alt="" width="520" height="276" /></a></p>
<p>Лиха беда, подумалось мне. По сравнению с глюками, которыми была напичкана Fedora, это выглядело сущей мелочью. Не можешь монтировать? Хорошо, сейчас заставлю, решил я, и отправился портить зрение об man-страницу команды mount.</p>
<p>И что характерно, вручную подмонтировать носитель мне удалось без проблем. На радостях я принялся тут же накидывать на флэшку файлы. Но не тут-то было!</p>
<p>Наблюдалась жесткая просадка операций ввода-вывода при работе с носителем, ну а в довершение — полный ступор системы на 90% копирования.</p>
<p>Я перезагрузился, произошла абсолютно та же история, словно повтора гола при просмотре футбольного матча.</p>
<p>Я был несколько озадачен. И да, было несколько досадно, что напрочь лишенный глюков (в рамках моих потребностей, во всяком случае) Debian начал спотыкаться на элементарных вещах.</p>
<p>Я начал перебирать последние апдейты, наивно предполагаю, что «косячину» подсадило какое-то неудачное обновление, но потом вдруг меня осенило: Linux-системы имеют специальный файл с описанием правил монтирования файловых систем. А что, если...</p>
<p>Ну точно — в /etc/fstab была запись, предписывающая системе работать с /dev/sdb1 как с CDROM. Видимо, в процессе инсталляции системы программа установки приписала строчку, решив, что я использую компакт-диск. Записав подложившему свинью инсталлятору жирный минус, я убрал в fstab эту строчку:</p>
<blockquote><p>/dev/sdb1 /media/cdrom0 udf,iso9660 user,noauto 0 0</p></blockquote>
<p>Больше проблем со сменными накопителями не было.</p>
<hr />
<p>&nbsp;</p>
<p>Выводы, как обычно, можно сделать не самые радужные: работая с Linux, вы по-прежнему должны чётко представлять, чем вы занимаетесь, и чем, чёрт возьми, в это время занимается система. В противном случае вы легко попадете впросак и рискуете пополнить ряды персонажей, выливающих вёдра помоев в адрес «альтернативных» операционных систем и многочисленных авторов их приложений. Linux все ещё требует умения читать и думать, вопреки моде и современным тенденциям всё сводить к кнопке «Сделать пиздато». Хотя, я никогда не считал, что думать - это плохо.</p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/qAPdRforeZ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/debian-svinya-na-fleshke/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://winreview.ru/debian-svinya-na-fleshke/</feedburner:origLink></item>
		<item>
		<title>Как заставить отображаться команду «Копировать как путь» в контекстном меню Проводника Windows</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/B_XRzK2jisM/</link>
		<comments>http://winreview.ru/kak-zastavit-otobrazhatsya-komandu-kopirovat-kak-put-v-kontekstnom-menyu-provodnika-windows/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 19:49:36 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Без вредных советов]]></category>
		<category><![CDATA[Решение проблем]]></category>
		<category><![CDATA[Уголок гика]]></category>
		<category><![CDATA[Командная строка]]></category>
		<category><![CDATA[Контекстное меню]]></category>
		<category><![CDATA[Проводник]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=293</guid>
		<description><![CDATA[Не знаю, как уважаемый читатель,  а я регулярно пользуюсь командой "Копировать как путь". Да и вообще, для меня  - это одна из самых полезных команд, проявившихся в контекстном меню Проводника со времен Vista. И меня откровенно напрягает, что для её вызова я должен удерживать кнопку . Ну а в Windows XP, коей в рядах нашего [...]]]></description>
			<content:encoded><![CDATA[<p>Не знаю, как уважаемый читатель,  а я регулярно пользуюсь командой "Копировать как путь". Да и вообще, для меня  - это одна из самых полезных команд, проявившихся в контекстном меню Проводника со времен Vista. И меня откровенно напрягает, что для её вызова я должен удерживать кнопку <kbd class="dark">SHIFT</kbd>. Ну а в Windows XP, коей в рядах нашего брата остается ещё совсем немало, вообще такой команды контекстного меню нет.</p>
<p>Сегодня мы будем повышать уровень комфорта экспулатации Проводника, и добавим пресловутую команду, дабы не жать лишних кнопок.</p>
<p><span id="more-293"></span></p>
<p>Функциональность отображения пункта меню "Копировать как путь" по клику с SHIFT вшита глубоко в недра системы, и никакими параметрами реестра отображаться в обычном меню его не заставить (<em>это ActiveX-элемент , его GUID={f3d06e7c-1e45-4a26-847e-f9fcdee59be0},  и он просто их не имеет</em>).</p>
<p>Я нашел для себя два способа решения проблемы. <em></em></p>
<blockquote><p>Чтобы скопировать путь к текущей папке, нужно прописать в контекстное меню папок/файлов какое-либо приложение, которое получит в качестве параметра путь к выделенному объекту, и скопирует его в буфер обмена. Можно использовать встроенные средства Windows, а можно воспользоваться сторонними приложениями.</p></blockquote>
<p>Я рассмотрю оба способа.</p>
<h2>Общие действия для обоих способов</h2>
<p>Создайте в разделе <dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>HKEY_CLASSES_ROOT\AllFilesystemObjects\</code></dd></dl> раздел shell, в нем подраздел CopyAsPath, а в нем - подраздел Command.</p>
<p><em>&gt;Для справки: Этот раздел служит общей точкой соприкосновения всех реальных (физических) объектов файловой системы. Грубо говоря, можно сказать, что он является общим и для папок, и для файлов. Команды, определенные в нем, отображаются для всех "настоящих" элементов в Проводнике. Поэтому команду копирования пцти целесообразно определять именно здесь.<br />
</em></p>
<p>У нас получился раздел <dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>&nbsp;HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath</code></dd></dl></p>
<p>Здесь параметру по умолчанию раздела задайте нужное текстовое описание, именно оно будет отображаться в контекстном меню Проводника.<em> "Копировать как путь" вполне подойдет.</em></p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/copyaspath1.jpg" rel="lightbox[293]"><img class="alignnone size-full wp-image-297" title="copyaspath1" src="http://winreview.ru/wp-content/uploads/2012/01/copyaspath1.jpg" alt="" width="500" height="66" /></a></p>
<p>Ну а теперь - самое главное.</p>
<h2>Команда "Копировать как путь": обходимся средствами системы</h2>
<p>В параметре по умолчанию в разделе HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath\Command пропишите это:<br />
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>cmd&nbsp;/c&nbsp;"echo&nbsp;%1&nbsp;|&nbsp;clip"</code></dd></dl></p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/copyaspath2.jpg" rel="lightbox[293]"><img class="alignnone size-full wp-image-295" title="copyaspath2" src="http://winreview.ru/wp-content/uploads/2012/01/copyaspath2.jpg" alt="" width="499" height="79" /></a></p>
<p>Команда echo выведет путь к объекту, для которого была вызван наш пункт контекстного меню, а команда clip поместит вывод echo в буфер обмена. Всё просто, быстро, и никаком магии.</p>
<p>Минус такого решения - появляющееся на доли секунды окно командной строки. Это мелочь, но если она вас раздражает, есть второй вариант.</p>
<h2>Добавляем "Копировать путь" при помощи Nircmd</h2>
<p>Этот вариант не выводит никаких окон, но требует наличия у вас на компьютере утилиты NirCMD. Практическую ценность этой утилиты трудно недооценить, я неоднократно про неё писал. Итак, в случае с использованием утилиты NirCMD, необходимо выполнить следующие шаги.</p>
<p>1. Скачайте <a href="http://www.nirsoft.net/utils/nircmd.html">NirCMD</a> и распакуйте скачанный архив папку, допустим, в C:\cmdtools</p>
<p>2. В реестре, в разделе <dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath\Command</code></dd></dl> пропишите это:<br />
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>c:\cmdtools\nircmd.exe&nbsp;clipboard&nbsp;set&nbsp;"%1"</code></dd></dl></p>
<p>Эффект тот же самый, как в первом случае, но без каких-либо окон вообще. Какой бы способ вы бы не предпочли, команда "Копировать как путь" всегда будет присутствовать в контекстном меню, без нажатия кнопки SHIFT:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/copyaspath3.jpg" rel="lightbox[293]"><img class="alignnone size-full wp-image-294" title="copyaspath3" src="http://winreview.ru/wp-content/uploads/2012/01/copyaspath3.jpg" alt="" width="486" height="335" /></a></p>
<p><em>Cуществуют всевозможные расширения оболочки (shell extensions), реализующие схожую функциональность. Я предпочитаю их не использовать, так как использование подобных расширений может сказаться на стабильности Проводника и на скорости его работы. Варианты с вызовом внешних утилит мне нравятся больше, и они всегда менее проблемны.</em></p>
<p>Теперь стандартный пункт меню "Копировать как путь" мне больше не нужен. Чтобы отключить его, можно стереть фигурную скобку из параметра по умолчанию в разделе <dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyAsPathMenu</code></dd></dl></p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/copyaspath0.jpg" rel="lightbox[293]"><img class="alignnone size-full wp-image-296" title="copyaspath0" src="http://winreview.ru/wp-content/uploads/2012/01/copyaspath0.jpg" alt="" width="490" height="176" /></a></p>
<p>Его значение примет вид <dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>f3d06e7c-1e45-4a26-847e-f9fcdee59be0}</code></dd></dl>, а сам пункт перестанет появляться. Вернуть его назад можно, дописав скобку.</p>
<hr />
<p>Постоянное присутствие пункта "Копировать как путь" в контекстном меню сильно экономит мне время, и избавляет от необходимости удерживать лишние клавиши на клавиатуре. Надеюсь, совет окажется полезным кому-то ещё.</p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/B_XRzK2jisM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/kak-zastavit-otobrazhatsya-komandu-kopirovat-kak-put-v-kontekstnom-menyu-provodnika-windows/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://winreview.ru/kak-zastavit-otobrazhatsya-komandu-kopirovat-kak-put-v-kontekstnom-menyu-provodnika-windows/</feedburner:origLink></item>
		<item>
		<title>Winnity — диалог выбора папки или файла из командой строки</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/WyO-qdQxWXg/</link>
		<comments>http://winreview.ru/winnity-dialog-vybora-papki-ili-fajla-iz-komandoj-stroki/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 18:55:15 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Уголок гика]]></category>
		<category><![CDATA[Ключи командной строки]]></category>
		<category><![CDATA[Командная строка]]></category>
		<category><![CDATA[Мои программы]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=285</guid>
		<description><![CDATA[Я никогда не был гуру программирования, скриптования или каким-то подобным "гурой", но подчас написанные несколько строк скрипта сильно экономят время в дальнейшем. Поэтому я частенько пишу простенькие BASH - скрипты в линуксе. Признаюсь честно, я невероятно ленивый человек, и стараюсь совершать как можно меньше телодвижений. И поэтому я снабдил все BASH-скрипты, принимающие к качестве параметров [...]]]></description>
			<content:encoded><![CDATA[<p>Я никогда не был гуру программирования, скриптования или каким-то подобным "гурой", но подчас написанные несколько строк скрипта сильно экономят время в дальнейшем. Поэтому я частенько пишу простенькие BASH - скрипты в линуксе.</p>
<p>Признаюсь честно, я невероятно ленивый человек, и стараюсь совершать как можно меньше телодвижений. И поэтому я снабдил все BASH-скрипты, принимающие к качестве параметров командой строки путь к папке/файлу, графическим диалогом выбора.</p>
<p>Сегодня я писал что-то похожее на командных файлах Windows, и чётко осознал, что не хочу вызывать cmd-файл  с параметрами, вставляя путь к папке вручную. Немного поразмыслив, я быстро набросал <strong>winnity</strong>.</p>
<p><span id="more-285"></span></p>
<p><strong>Winnity</strong> - это трёхсоткилобайтное консольное приложение, написаное на Delphi 5 (посему не требующее этих ваших .NET framework и работающее в системах начиная с Windows 2000 и выше) .</p>
<p>Его основное назначение - выводить диалог выбора папки или файла. Всё, что выбрал пользователь, выводится в командную строку. Если пользователь нажал отмену - программа выводит пустую строку.</p>
<h2>Как пользоваться Winnity</h2>
<p>Предполагается, что программа будет вызываться из командного файла, чем-то похожего на этот:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>for&nbsp;/F&nbsp;"delims="&nbsp;%%i&nbsp;in&nbsp;('winnity&nbsp;/d')&nbsp;do&nbsp;(<br>dir&nbsp;%%i&nbsp;)<br>for&nbsp;/F&nbsp;"delims="&nbsp;%%i&nbsp;in&nbsp;('winnity&nbsp;/f')&nbsp;do&nbsp;(<br>notepad.exe&nbsp;%%i&nbsp;)<br>for&nbsp;/F&nbsp;"delims="&nbsp;%%i&nbsp;in&nbsp;('winnity&nbsp;/d')&nbsp;do&nbsp;(set&nbsp;x=%%i&nbsp;)<br>echo&nbsp;%x%</code></dd></dl>
<p>Программа "понимает" такие ключи командной строки</p>
<p><strong>winnity /d</strong> - вызов окна выбора директории</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/winnity_d.jpg" rel="lightbox[285]"><img class="alignnone size-thumbnail wp-image-286" title="winnity /d" src="http://winreview.ru/wp-content/uploads/2012/01/winnity_d-500x317.jpg" alt="" width="500" height="317" /></a></p>
<p>&nbsp;</p>
<p><strong>winnity /f</strong> - вызов окна выбора файла</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/winnity_f.jpg" rel="lightbox[285]"><img class="alignnone size-thumbnail wp-image-287" title="winnity /f" src="http://winreview.ru/wp-content/uploads/2012/01/winnity_f-500x324.jpg" alt="" width="500" height="324" /></a></p>
<p><strong>Обновлено 11.01.2012:</strong></p>
<p>Следующие два ключа добавлены по просьбе участников сообщества Oszone и работают только в режиме "файлового" диалога:</p>
<p><strong>winnity /f /m</strong> - разрешить выбирать несколько файлов в диалоге открытия файла.</p>
<p><strong>winnity /f  "/e=*.jpg *.bmp"</strong> - использовать фильтр по типам файлов. В данном случае, по JPG и BMP.</p>
<p>Ключ /m совместим с ключом /e. При вызове утилиты в команде FOR необходимо всегда заключать ключ /e в кавычки:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>for&nbsp;/F&nbsp;"delims="&nbsp;%%i&nbsp;in&nbsp;('winnity&nbsp;/f &nbsp;"/e=*.txt"')&nbsp;do&nbsp;(<br>notepad.exe&nbsp;%%i&nbsp;)</code></dd></dl>
<p>Таким образом, если вам потребуется часто вызывать командный файл, который требует в качестве параметров пути/имена файлов, вы можете добавить в него вызов winnity и сэкономить себе немного времени.</p>
<p><strong>Скачать winnity</strong>:</p>
<ul>
<li>Мой <a href="https://skydrive.live.com/redir.aspx?cid=634ef24ab9b08de2&amp;resid=634EF24AB9B08DE2!680&amp;parid=634EF24AB9B08DE2!597&amp;authkey=!AOx62e2PYm7UdpY">SkyDrive</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/WyO-qdQxWXg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/winnity-dialog-vybora-papki-ili-fajla-iz-komandoj-stroki/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://winreview.ru/winnity-dialog-vybora-papki-ili-fajla-iz-komandoj-stroki/</feedburner:origLink></item>
		<item>
		<title>Librarian 2.0 — обновление утилиты управления библиотеками Windows</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/oKGWPp1b5vA/</link>
		<comments>http://winreview.ru/librarian-2-0-obnovlenie-utility-upravleniya-bibliotekami-windows/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 19:02:47 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Librarian]]></category>
		<category><![CDATA[Библиотеки]]></category>
		<category><![CDATA[Мои программы]]></category>
		<category><![CDATA[Проводник]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=277</guid>
		<description><![CDATA[Постоянные посетители этого сайта и непосредственные пользователи программы знают, что Librarian - это утилита управления библиотеками Windows 7, немного расширяющая стандартный функционал Проводника в этой области. Я только что закончил работу над второй версией программы, и спешу ей с вами поделиться. Что нового во второй версии: Исправлена ошибка, приводящая к краху приложения, если вы пытаетесь [...]]]></description>
			<content:encoded><![CDATA[<p>Постоянные посетители этого сайта и непосредственные пользователи программы знают, что <strong>Librarian</strong> - это утилита управления библиотеками Windows 7, немного расширяющая стандартный функционал Проводника в этой области. Я только что закончил работу над второй версией программы, и спешу ей с вами поделиться.</p>
<p><span id="more-277"></span></p>
<p>Что нового во второй версии:</p>
<ul>
<li>Исправлена ошибка, приводящая к краху приложения, если вы пытаетесь редактировать пустую библиотеку, которую создали не в Librarian, а в Проводнике.</li>
<li>Добавлена возможность добавлять несколько папок в библиотеку. И Проводик, и первая версия Librarian позволяли добавлять в библиотеку по одной папке. Теперь процесс включения папок в библиотеку будет быстрее.</li>
<li>Добавлена возможность удалять из библиотеки сразу несколько папок. Проще говоря, во всех списках папок теперь есть множественный выбор строчек.</li>
<li>Наведен мелкий внешний лоск, например: кнопка "удалить" теперь доступна лишь когда выделена какая-либо библиотека.</li>
</ul>
<p>Немного картинок:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/librarian2-main-window.jpg" rel="lightbox[277]"><img class="size-thumbnail wp-image-280 alignnone" title="Librarian 2.0" src="http://winreview.ru/wp-content/uploads/2012/01/librarian2-main-window-500x276.jpg" alt="" width="500" height="276" /></a></p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/librarian2-add-folders.jpg" rel="lightbox[277]"><img class="alignnone size-thumbnail wp-image-279" title="Librarian 2.0" src="http://winreview.ru/wp-content/uploads/2012/01/librarian2-add-folders-500x379.jpg" alt="" width="500" height="379" /></a></p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/librarian2-remove-folders.jpg" rel="lightbox[277]"><img class="alignnone size-thumbnail wp-image-278" title="Librarian 2.0" src="http://winreview.ru/wp-content/uploads/2012/01/librarian2-remove-folders-500x346.jpg" alt="" width="500" height="346" /></a></p>
<p>Итак, на текущий момент возможности <strong>Librarian</strong> таковы:</p>
<p><em>Всё, что умеет Проводник:</em></p>
<ul>
<li>Создание, удаление и переименование библиотеки.</li>
<li>Указание типа содержимого новой или редактируемой библиотеки.</li>
<li>Смена папки, используемой по умолчанию для сохранения файлов в библиотеку.</li>
<li>Управление отображением библиотеки в панели навигации проводника.</li>
<li>Отображение системного диалога папок, включенных в библиотеку.</li>
</ul>
<p><em>Плюс вот эти функции:</em></p>
<ul>
<li>Создание библиотеки из произвольного набора папок.</li>
<li>Отображение библиотеки в виде XML-файла.</li>
<li>Смена значка библиотеки на выбранный пользователем. Вы можете задач значок библиотеки, используя стандартный диалог Windows, вызываемый при смене значка ярлыка.</li>
<li>Добавление в библиотеку сразу несколько папок (а не по одной, как в проводнике), что ускоряет настройку свежесозданной библиотеки.</li>
</ul>
<h2>Скачать Librarian</h2>
<p>Традиционно, я использую несколько зеркал:</p>
<ul>
<li><a href="http://winreview.ru/forum/viewtopic.php?f=86&amp;t=13&amp;p=13#p13">Форум</a></li>
<li><a href="https://skydrive.live.com/redir.aspx?cid=634ef24ab9b08de2&amp;resid=634EF24AB9B08DE2!676&amp;parid=634EF24AB9B08DE2!597&amp;authkey=!AG8pfNlXBx8ZioI">Skydrive</a></li>
<li><a href="http://soft.oszone.net/program/9687/Librarian/">Каталог Oszone</a> (описание я там ещё не поправил, но версию актуальную выложил)</li>
</ul>
<h2>Небольшая история появления второй версии Librarian</h2>
<p>Сказать по правде, я вообще не собирался что-то дорабатывать или менять в этой программе. Но ситуацию в корне изменил появившийся в сети <a href="http://www.outsidethebox.ms/">Вадим Стеркин</a>, который поздравил меня с Новым Годом и новогодним багом. Программа, как оказалось, падала на любой пустой библиотеке, если её создать средствами Проводника, а редактировать Librarian. Я так никогда не делал, предпочитая создавать новые библиотеки средствами самого Librarian. Не долго думая, я принялся отлаживаться, и буквально через минуту виновник был найден. Оказывается, предоставляемый Microsoft Windows API Codepack вызывает исключение при попытке определить вид представления библиотеки (при обращении к свойству <strong>ShellLibrary.LibraryType</strong>).</p>
<p>Помимо баг-репорта, Вадим подал отличную идею реализации возможности добавлять сразу несколько папок в библиотеку. И действительно, вызов диалога обзора/выбора для каждой папки занимает довольно приличное время, которое можно сэкономить. Я занялся изучением вопроса, а Вадим тем временем выказывал мне образцы творчества инженеров Майкрософт, мотивируя стремиться к ним:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/sterkin1.jpg" rel="lightbox[277]"><img class="alignnone size-full wp-image-281" title="sterkin1" src="http://winreview.ru/wp-content/uploads/2012/01/sterkin1.jpg" alt="" width="500" height="396" /></a></p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/libs.jpg" rel="lightbox[277]"><img class="alignnone size-full wp-image-282" title="libs" src="http://winreview.ru/wp-content/uploads/2012/01/libs.jpg" alt="" width="500" height="435" /></a></p>
<p>Писать такой диалог меня абсолютно не пёрло, поэтому я воспользовался готовым компонентом <a href="http://www.codeproject.com/KB/miscctrl/FileBrowser.aspx">FileBrowser</a>. Пришлось немого посидеть и разобраться, как убрать отображение файлов, оставив в дереве только папки. В итоге получился вот такой вот диалог:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2012/01/librarian-dlialog.jpg" rel="lightbox[277]"><img class="alignnone size-thumbnail wp-image-283" title="librarian 2.0" src="http://winreview.ru/wp-content/uploads/2012/01/librarian-dlialog-500x394.jpg" alt="" width="500" height="394" /></a></p>
<p>Функционально он предоставляет те же возможности, что и Мастера архивации и иже с ними.</p>
<p>В итоге я также показал свои наработки <a href="http://dimanb.wordpress.com/">Дмитрию Буланову</a>, который и рекомендовал мне "причесать" интерфейс, дабы запретить доступ к пунктам меню/кнопкам, работа которых невозможна, когда не выбрана ни одна из библиотек.</p>
<p>Librarian 2.0 - это итог совместной деятельности нескольких человек, и я надеюсь, итог вполне положительный.</p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/oKGWPp1b5vA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/librarian-2-0-obnovlenie-utility-upravleniya-bibliotekami-windows/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://winreview.ru/librarian-2-0-obnovlenie-utility-upravleniya-bibliotekami-windows/</feedburner:origLink></item>
		<item>
		<title>Работа со строками в командных файлах Windows 7</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/xPCQREj8LJA/</link>
		<comments>http://winreview.ru/rabota-so-strokami-v-komandnyx-fajlax-windows-7/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 20:19:10 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Без вредных советов]]></category>
		<category><![CDATA[Уголок гика]]></category>
		<category><![CDATA[Ключи командной строки]]></category>
		<category><![CDATA[Командная строка]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=261</guid>
		<description><![CDATA[Позавчера мне пришлось написать простенький командный файл, бекапящий профиль приложения. В качестве имени папки с резервной копией мне возжелалось использовать переменные окружения %date% и %time%. Если вы проходили в институте начальный курс информатики, вы должны знать, что %time%  в этом случае является ничем иным, как граблями, остро торчащими на пути, так значение содержит недопустимый символ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://winreview.ru/wp-content/uploads/2011/12/MS-DOS-Application.png" rel="lightbox[261]"><img class="alignright size-full wp-image-275" title="Работа со строками в командной строке" src="http://winreview.ru/wp-content/uploads/2011/12/MS-DOS-Application.png" alt="Работа со строками в командной строке" width="128" height="128" /></a>Позавчера мне пришлось написать простенький командный файл, бекапящий профиль приложения. В качестве имени папки с резервной копией мне возжелалось использовать переменные окружения %date% и %time%. Если вы проходили в институте начальный курс информатики, вы должны знать, что %time%  в этом случае является ничем иным, как граблями, остро торчащими на пути, так значение содержит недопустимый символ ":". Я никогда не занимался разбором строк в командных файлах, и случай как нельзя лучше подходил для того, чтобы прокачать свои скилы.</p>
<p>Я хочу поделиться с вами своими изысканиями, и анонсирую скучную, унылую техническую статью. Дочитавшему до конца - покажу котика.<br />
<span id="more-261"></span>В современных ОС интерпретатор командной строки позволяет выполнять простейшие строковые операции:</p>
<ul>
<li><a href="#p1">Замену подстроки в строке</a></li>
<li><a href="#p2">Поиск подстроки</a></li>
<li><a href="#p3">Выделение подстроки</a></li>
<li><a href="#p4">Работа с наборами "ключ - значение"</a></li>
</ul>
<h2>Замена символов/подстроки в переменной командной строки</h2>
<p><a name="p1"></a><br />
Это то, что мне было нужно в первую очередь. Напомню, моя задача в первую очередь избавиться от двоеточий.</p>
<p>Решается очень просто:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>set&nbsp;mytime=%time::=_%</code></dd></dl>
<p>В этом примере используется синтаксис вида:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>%Переменная:ЧтоНайти=НаЧтоЗаменить%</code></dd></dl>
<p>В моем случае заменяется двоеточие на символ нижнего подчеркивания, и результат выглядит так:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/001.jpg" rel="lightbox[261]"><img class="size-thumbnail wp-image-263 alignnone" title="замена символа в строке (cmd.exe)" src="http://winreview.ru/wp-content/uploads/2011/12/001-500x252.jpg" alt="замена символа в строке (cmd.exe)" width="500" height="252" /></a></p>
<p>Само собой, можно заменять не отдельные символы, а целые словосочетания:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/002.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-264" title="Замена строки в переменной cmd.exe" src="http://winreview.ru/wp-content/uploads/2011/12/002-500x252.jpg" alt="Замена строки в переменной cmd.exe" width="500" height="252" /></a></p>
<p>Как ещё можно воспользоваться функцией замены? Например:</p>
<h3>Удалить все пробелы из значения переменной</h3>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>echo&nbsp;%var:&nbsp;=%</code></dd></dl>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/remove-spaces.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-265" title="Удалить пробелы из переменной cmd.exe" src="http://winreview.ru/wp-content/uploads/2011/12/remove-spaces-500x252.jpg" alt="Удалить пробелы из переменной cmd.exe" width="500" height="252" /></a></p>
<h3>Замена какой-либо части строки</h3>
<p>Вы можете использовать символ "*" для определения того, что обработке подлежит часть строки, <strong>предшествующая</strong> указанному выражением. <em>Я не знаю, как написать это по-человечески, вот что я имею ввиду:</em></p>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/template-replace.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-266" title="Замена части строки в переменной cmd.exe" src="http://winreview.ru/wp-content/uploads/2011/12/template-replace-500x252.jpg" alt="" width="500" height="252" /></a></p>
<p>К сожалению, "звёздочкой" нельзя указать, что отсечь надо часть строки <strong>после</strong> указанного выражения. Эта задача решается в два этапа:</p>
<ol>
<li>в отдельную переменную помещается строка, из которой удалено всё, что находится до ключевого выражения. Т.е. в ней остается "хвост", искомое выражение плюс всё, что после него.</li>
<li>затем из оригинальной переменной удаляется значение переменной, полученной на первом шаге. Здесь потребуется вызов команды СALL:</li>
</ol>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/template-replace2.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-267" title="Замена подстроки в строке cmd.exe" src="http://winreview.ru/wp-content/uploads/2011/12/template-replace2-500x252.jpg" alt="" width="500" height="252" /></a></p>
<p>Инструкция CALL необходима для разворачивания значения переменной, подлежащей замене. Без неё интерпретатор отработает неверно, и вот эта конструкция не сработает:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>echo&nbsp;%var1:%var%=%</code></dd></dl>
<p>Необходимо писать:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>call&nbsp;echo&nbsp;%var1:%var%=%</code></dd></dl>
<p>Не забывайте, что при использовании таких конструкций в командных файлах знаки процентов должны быть удвоены:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>rem&nbsp;Работаем&nbsp;внутри&nbsp;командного&nbsp;файла<br>call&nbsp;echo&nbsp;%%var1:%var%=%%</code></dd></dl>
<h2>Поиск подстроки</h2>
<p><a name="p2"></a><br />
Используя опыт, полученный выше, можно написать простейшую проверку вида "содержит/не содержит".</p>
<p>Например, вот так:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>set&nbsp;var1=Мама&nbsp;мыла&nbsp;раму<br>set&nbsp;var2=%var1:Мама=%<br>if&nbsp;NOT&nbsp;"%var1%"&nbsp;==&nbsp;"%var2%"&nbsp;(echo&nbsp;Подстрока&nbsp;найдена)</code></dd></dl>
<p>Или</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>set&nbsp;var1=Мама&nbsp;мыла&nbsp;раму<br>set&nbsp;var2=%var1:Мама=%<br>if&nbsp;NOT&nbsp;"%var1%"&nbsp;==&nbsp;"%var2%"&nbsp;(echo&nbsp;Подстрока&nbsp;найдена) &nbsp;else &nbsp;(echo&nbsp;Подстрока&nbsp;не&nbsp;найдена)&nbsp;</code></dd></dl>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/substring-check.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-268" title="Проверка вхождения подстроки" src="http://winreview.ru/wp-content/uploads/2011/12/substring-check-500x252.jpg" alt="" width="500" height="252" /></a></p>
<h2>Выделение подстроки из переменной</h2>
<p><a name="p3"></a><br />
Для получения подстроки из строки командный интерпретатор предоставляет  такую конструкцию:</p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>set&nbsp;var2=%var1:~начальная_позиция%<br>set&nbsp;var2=%var1:~начальная_позиция,-отбросить_символов_с_конца_строки%<br>set&nbsp;var2=%var1:~начальная_позиция,длина%</code></dd></dl>
<p>Синтаксис очень простой, поэтому сразу перейдем к примерам.</p>
<h3>Выделение подстроки с начиная определенной позиции</h3>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/substring-left.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-269" title="Выделение подстроки слева" src="http://winreview.ru/wp-content/uploads/2011/12/substring-left-500x252.jpg" alt="" width="500" height="252" /></a></p>
<h3>Выделение части строки, например, "середины"</h3>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/substring-crop.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-270" title="substring-crop" src="http://winreview.ru/wp-content/uploads/2011/12/substring-crop-500x252.jpg" alt="" width="500" height="252" /></a></p>
<h3>Выделение определенного количества символов</h3>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/substring-part.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-271" title="Выделение заданного количества символов с позиции" src="http://winreview.ru/wp-content/uploads/2011/12/substring-part-500x252.jpg" alt="" width="500" height="252" /></a></p>
<p><em>Начальная позиции строки  - нулевая.</em></p>
<h2>Работа с наборами "ключ - значение"</h2>
<p><a name="p4"></a><br />
Здесь, в общем-то, тоже никакой магии нет. В основе разбора лежит всё та же рассмотренная выше замена подстроки на пустое значение.</p>
<p>Алгоритм действий такой:</p>
<ul>
<li>Создается переменная, содежащая в себе значения вида &lt;ключ&gt;&lt;разделитель значения&gt;&lt;значение&gt;&lt;разделитель пары&gt;. Назовем её условно "словарь".</li>
<li>В переменную, которая будет содержать значение, записывается всё, что следует после ключа. По аналоги с заменой части строки, нужно использовать звездочку перед выражением &lt;ключ&gt;&lt;разделитель значения&gt;.</li>
<li>Полученный результат нужно "почистить", так как он может содержать в себе остаток словаря. Для этого прибегнем к хитрости и выполним составную команду.<br />
Предположим, мы в качестве разделителя пары словаря используем точку с запятой. Тогда мы сможем довольно изящно "убить" оставшуюся часть словаря, поместив его в комментарии командой rem.<br />
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>set&nbsp;value=%value:;=&amp;rem&nbsp;%</code></dd></dl><br />
<em>После rem - пробел, это важно(rem /?)</em></li>
</ul>
<p>Теперь практический пример:</p>
<p><a href="http://winreview.ru/wp-content/uploads/2011/12/key-value-pair.jpg" rel="lightbox[261]"><img class="alignnone size-thumbnail wp-image-272" title="Обработка пар &quot;ключ-значение&quot;" src="http://winreview.ru/wp-content/uploads/2011/12/key-value-pair-500x252.jpg" alt="" width="500" height="252" /></a></p>
<hr />
<p>Я надеюсь, эта информация оказалась для вас полезной и сэкономит вам время, если у вас появится задача обработки строк. Впрочем, тему я раскрыл не полностью, и если у вас есть какие-то дельные личные наработки и приёмы обработки строк в командном интерпретаторе Windows, я совсем не против увидеть их в комментариях.</p>
<p>Материалы по теме:</p>
<p><a href="http://ss64.com/nt/">http://ss64.com/nt/</a></p>
<p><a href="http://forum.oszone.net/forum-102.html">Форум о скриптах на OSZone</a> - рекомендую.</p>
<p style="text-align: center;"><em>Спасибо, что дочитали до конца.</em></p>
<p> <a href="http://winreview.ru/wp-content/uploads/2011/12/Cat-Photo.jpg" rel="lightbox[261]"><img class="size-full wp-image-273 aligncenter" title="Cat-Photo" src="http://winreview.ru/wp-content/uploads/2011/12/Cat-Photo.jpg" alt="" width="500" height="449" /></a></p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/xPCQREj8LJA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/rabota-so-strokami-v-komandnyx-fajlax-windows-7/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://winreview.ru/rabota-so-strokami-v-komandnyx-fajlax-windows-7/</feedburner:origLink></item>
		<item>
		<title>Explorer Toolbar Editor — редактор кнопок тулбара Проводника</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/6awXwokg29I/</link>
		<comments>http://winreview.ru/explorer-toolbar-editor-redaktor-knopok-tulbara-provodnika/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 10:36:28 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Explorer Toolbar Editor]]></category>
		<category><![CDATA[Мои программы]]></category>
		<category><![CDATA[Проводник]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=257</guid>
		<description><![CDATA[В свое время написав обзор на Nirsoft CustomExplorerToolbar, я обнаружил у этой программы ряд недостатков, подтолкнувших меня к созданию собственного велосипеда, но с круглыми колёсами. CustomExplorerToolbar, если вы не в курсе, позволяет добавлять кнопки а-ля "Копировать/Вырезать/Вставить" на тулбар Проводника. Моя поделка получила имя Explorer Toolbar Editor и решает те же самые задачи, но более гибко [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://winreview.ru/wp-content/uploads/2011/12/logo.png" rel="lightbox[257]"><img class="alignright size-full wp-image-259" title="Explorer Toolbar Icon logo" src="http://winreview.ru/wp-content/uploads/2011/12/logo.png" alt="" width="128" height="128" /></a>В свое время написав обзор на Nirsoft CustomExplorerToolbar, я обнаружил у этой программы ряд недостатков, подтолкнувших меня к созданию собственного велосипеда, но с круглыми колёсами. CustomExplorerToolbar, если вы не в курсе, позволяет добавлять кнопки а-ля "Копировать/Вырезать/Вставить" на тулбар Проводника. Моя поделка получила имя <strong>Explorer Toolbar Editor</strong> и решает те же самые задачи, но более гибко и более комфортно. Над программой мы трудились напару с <a href="http://www.outsidethebox.ms/12412/#history">Вадимом Стеркиным</a>, взявшимся проектировать пользовательский интерфейс программы и переводить его на русский язык.<br />
<span id="more-257"></span></p>
<ul>
<li><a href="#wtf">Что такое Explorer Toolbar Editor</a></li>
<li><a href="#whom">Кому будет полезен Explorer Toolbar Editor</a></li>
<li><a href="#how">Основные приемы работы с Explorer Toolbar Editor</a></li>
<li><a href="#faq">Частые вопросы и ответы</a></li>
</ul>
<h2>Что такое Explorer Toolbar Editor</h2>
<p><a name="wtf"></a><br />
<a href="http://winreview.ru/wp-content/uploads/2011/12/001.png" rel="lightbox[257]"><img class="alignnone size-thumbnail wp-image-258" title="Explorer Toolbar Editor" src="http://winreview.ru/wp-content/uploads/2011/12/001-500x340.png" alt="" width="500" height="340" /></a></p>
<p><strong>Explorer Toolbar Editor</strong> - это мощный редактор кнопок тулбара Проводника, позволяющий добавить на панель инструментов одну или несколько системных кнопок, например, "Копировать", "Вставить", "Удалить" и тому подобное. Штатные средства Windows 7 вообще не предусматривают такую возможность, и программа устраняет этот пробел в системе настроек. Она была создана по мотивам статьи Вадима Стеркина "<a title="Постоянная ссылка на Как изменить набор кнопок на панели проводника Windows 7" href="http://www.outsidethebox.ms/10604/" rel="bookmark">Как изменить набор кнопок на панели проводника Windows 7</a>" и реализовывалась с благой целью создания удобного и доступного инструмента добавления и удаления кнопок на панель Проводника, а также с лукавой целью "переплюнуть" Nirsoft функционально и в плане интерфейса.</p>
<p>Программа позволяет:</p>
<ul>
<li>Добавлять и удалять одну или несколько кнопок к типу папки.</li>
<li>Добавить кнопки к нескольким или сразу ко всем типам папок.</li>
<li>Удалять кнопки из конкретного типа папок.</li>
<li>Удалять кнопки из нескольких типов папок или из всех, где они содержатся.</li>
<li>Сортировать кнопки: изменять порядок их отображения на тулбаре Проводника.</li>
</ul>
<p>С <strong>Explorer Toolbar Editor</strong> вы всегда сможете увидеть, где какие кнопки у вас присутствуют, и легко изменить набор кнопок и порядок их отображения.</p>
<h2>Кому будет полезен Explorer Toolbar Editor</h2>
<p><a name="whom"></a><br />
Explorer Toolbar Editor придется прежде всего душе активным пользователям Проводника Windows 7, желающим получить быстрый доступ к часто используемым функциям. Не секрет, что кнопку тулбара нажать быстрее, чем выполнить команду [контекстного] меню. Explorer Toolbar Editor позволяет добавить <em>любую </em>системную кнопку, предусмотренную в операционной системе Windows 7, тем самым можно в разы ускорить привычные файловые операции и навигацию.</p>
<p>Кроме того, я лично отметил практическую ценность настроенного тулбара Проводника на виртуальной машине, где порой часто приходится переключаться из виртуальной среды в реальную. В ней мне щелкнуть в тулбар с нужной кнопкой гораздо быстрее, чем выполнять операции с клавиатуры (если они предусмотрены) и уж тем более ждать появления контекстного меню.</p>
<h2>Основные приемы работы с Explorer Toolbar Editor</h2>
<p><a name="how"></a><br />
Прежде чем приступать к описанию конкретных функций, я хочу обратить ваше внимание, как выполняется выделение объектов в программе, будь то типы папок или кнопки. Основной принцип таков: вы можете выбрать сразу несколько одинаковых объектов, находящихся на одном уровне в дереве.</p>
<p>Множественное выделение выполняется подобно Проводнику Windows: с удержанием клавиш CTRL или SHIFT, а также "обведением" элементов при нажатой левой кнопке мыши:<br />
<object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/mYewk2jPwXQ&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/mYewk2jPwXQ&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<h3>Добавление новых кнопок на тулбар Проводника</h3>
<p>Сначала необходимо выбрать, когда кнопки, которые вы хотите добавить, будут отображаться на панели кнопок Проводника. Набор кнопок меняется и зависит от того, выделен какой-либо файл или папка в текущем окне Проводника, или нет. К примеру, кнопку "Удалить" бессмысленно отображать, когда ничего не выделено, но есть смысл отображать, когда выбран файл или папка. Для этого в программе предусмотрено две соответствующих вкладки (см. видео ниже).</p>
<p>Затем необходимо выбрать слева типы папок, в которые вы хотите добавить кнопки. Это может какой-то один тип, например, библиотека "Музыка", либо несколько типов папок, например, библиотека "Музыка", папка "Музыка" и результаты поиска в Музыке. После того, как типы папок выбраны, нажмите "Добавить кнопки".</p>
<p>Названия и описания кнопок практически полностью берутся из системных строковых ресурсов, а это значит, что на английской версии Windows кнопки будут на английском языке, на итальянской - на итальянском, а на русской - на русском.</p>
<p>Добавление кнопок к одному конкретному типу папок:<br />
<object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/ab4sWXuoWj8&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/ab4sWXuoWj8&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<p>Добавление кнопок к нескольким и/или сразу ко всем типам папок:<br />
<object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/pfJdKnRWP_o&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/pfJdKnRWP_o&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<h3>Удаление кнопок с Панели Проводника</h3>
<p>Как было указано выше, в правом списке отображаются кнопки, соответствующие выделенным типам папок. Когда слева выделен один тип папки, справа отображаются только кнопки, ему соответствующие. В этом случае можно просто выделить кнопку справа и нажать "Удалить кнопки". Вы можете выделить сразу несколько кнопок справа, удерживая SHIFT или CTRL:<br />
<object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/Gxo_t8AVKFY&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/Gxo_t8AVKFY&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<p>Когда слева выделена несколько типов папок сразу (например, Библиотека "Музыка" и папка "Музыка") или группа типов ("Библиотеки" и/или "Папки", например), справа отображается сводный набор кнопок для всех типов папок. Около названия кнопки появляется значок "+", нажав на который, вы можете увидеть, в какие типы папок она входит.</p>
<p>Удаление кнопок в этом случае происходит по следующему алгоритму.</p>
<ul>
<li>Если выделить название одной или нескольких кнопок, то кнопки будут удалены сразу изо всех типов папок, в которые они включены.</li>
<li>Если развернуть кнопки, нажав на плюс "+", выделить конкретные типы папок и нажать "Удалить", кнопки будут удалены только из выделенных типов папок. В этом случае вы можете выделять типы папок сразу для нескольких кнопок.</li>
</ul>
<p>Я понимаю, это сложно воспринимается чтением, поэтому посмотрите следующий ролик:<br />
<object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/aj1ccxZJh08&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/aj1ccxZJh08&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<h3>Сортировка кнопок панели Проводника средствами Explorer Toolbar Editor</h3>
<p>Используя программу, вы можете изменить порядок отображения кнопок на тулбаре. Вероятно, вы захотите, чтобы наиболее востребованные кнопки отображались слева, а редко используемые - справа. Функция сортировки вам поможет:<br />
<object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/8o67DTF6uDk&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/8o67DTF6uDk&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object><br />
Кнопки сортировки - это стрелки в правой части программы. Они становятся доступны, когда слева выделен один конкретный тип папки.</p>
<h2>Частые вопросы и ответы на них</h2>
<p><a name="faq"></a><br />
<span style="color: #0000ff;">В.</span> Откуда взялись все эти кнопки??<br />
<span style="color: #ff0000;">А.</span> Отсюда<br />
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell</code></dd></dl></p>
<p><span style="color: #0000ff;">В.</span> Почему нет кнопок "Копировать в" и "Переместить в"?<br />
<span style="color: #ff0000;">А.</span> Потому что в системе эти команды не описаны как кнопки тулбара. Их, безусловно, <a href="http://www.outsidethebox.ms/10656/#_Toc277326518">можно добавить</a> на панель Проводника, но это повлечет за собой невозможность использовать <em>любые</em> стандартные кнопки тулбара.</p>
<p><span style="color: #0000ff;">В.</span> Почему вы не реализовали возможность добавить собственные кнопки?<br />
<span style="color: #ff0000;">А.</span> Это нецелесообразно. Добавление собственных предполагает создание скриптов/приложений, которые будут "оживлять" эти кнопки. Кроме того, добавление "собственной" кнопки отключает возможность использовать <em>любые</em> стандартные кнопки тулбара: либо свои кнопки, либо стандартные.</p>
<p><span style="color: #0000ff;">В.</span> Почему отображается кнопка "Новая папка"? Я её не добавлял!<br />
<span style="color: #ff0000;">А.</span> Некоторые кнопки тулбара Проводника не поддаются редактированию. Некоторые, такие как "Новая папка", почти всегда видимы на панели инструментов.</p>
<p><span style="color: #0000ff;">В.</span> Я добавил кнопку "ххх", а она не показывается ни в одном из режимов отображения кнопок.<br />
<span style="color: #ff0000;">А.</span> Некоторые кнопки тулбара отображаются только при определенных условиях. Например, когда доступна Домашняя группа. Скорее всего, у вас похожий случай. Это не является ошибкой программы.</p>
<p><span style="color: #0000ff;">В.</span> Я попробовал утилиту в деле, и теперь хочу вернуть все кнопки как было. Что мне делать?<br />
<span style="color: #ff0000;">А.</span> Нажать кнопку "По умолчанию". Эта кнопка откатит все ваши изменения и сделает набор кнопок таким, каким он был до первого запуска Explorer Toolbar Editor.</p>
<p><span style="color: #0000ff;">В.</span> А почему при первом запуске программы для библиотек отображаются какие-то кнопки, а для простых папок - нет?<br />
<span style="color: #ff0000;">А.</span> Потому что для библиотек кнопки прописаны в реестре, а для папок там ничего нет, но некоторые кнопки явно "прошиты" и показываются на тулбаре. Это не ошибка программы, просто добавьте к папкам кнопки, которые вы желаете видеть в дополнение к уже имеющимся, например, "копировать", "удалить" и т.п.</p>
<p><span style="color: #0000ff;">В.</span> При инсталляции программы указал язык «русский», но к сожалению получил английский, удалил, переустановил, результат не изменился… Что делаю не так?<br />
<span style="color: #ff0000;">А.</span> Язык интерфейса программы зависит от системной локали. Если локаль системы отличается от русской, от программы будет на английском языке. Если вы используете русскую версию Windows 7 и живете в России, но при этом получили программу на английском языке - значит, у вас неверные настройки локали.<br />
Вы можете переключить язык программы на русский принудительно. Допишите в ярлыке её запуска следующее:</p>
<p dir="ltr"><code><dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>ExplorerToolbarEditor.exe&nbsp;ru-RU</code></dd></dl></code></p>
<p>К слову, команда <strong>ExplorerToolbarEditor.exe en-US</strong> форсирует язык интерфейса к английскому.</p>
<h2>Немогу скочать, не чего не роботает</h2>
<p>Скачать Explorer Toolbar Editor вы можете по одной из этих ссылок:</p>
<ul>
<li>С моего <a href="http://winreview.ru/forum/viewtopic.php?f=86&amp;t=383">форума</a>.</li>
<li>С каталога программ <a href="http://soft.oszone.net/program/12638/Explorer_Toolbar_Editor/">oszone</a></li>
<li><a href="http://winaero.com/download.php?view.14">Winaero </a>(англ.)</li>
</ul>
<p><em>Советую ознакомиться с историей создания утилиты <a href="http://www.outsidethebox.ms/12412/#history">в блоге Вадима</a>, весьма интересно написано.</em></p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/6awXwokg29I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/explorer-toolbar-editor-redaktor-knopok-tulbara-provodnika/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://winreview.ru/explorer-toolbar-editor-redaktor-knopok-tulbara-provodnika/</feedburner:origLink></item>
		<item>
		<title>Wbar x64. 64-битный deb-пакет wbar 2.2.2 лучшего из доков для Linux</title>
		<link>http://feedproxy.google.com/~r/Winreviewru/~3/QYXUoOELg3U/</link>
		<comments>http://winreview.ru/wbar-x64-64-bitnyj-deb-paket-wbar-2-2-2-luchshego-iz-dokov-dlya-linux/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 17:59:39 +0000</pubDate>
		<dc:creator>Сергей Ткаченко</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[wbar x64]]></category>

		<guid isPermaLink="false">http://winreview.ru/?p=253</guid>
		<description><![CDATA[Я считаю Warlock Bar (или попросту wbar) одной из лучших док-панелей для Linux. Легкая, быстрая, она служит удачным решением для легковесных сред вроде LXDE, равно как и для минималистических релизаций графического окружения, например, на базе Fluxbox, где рабочего стола как такового и вовсе может не быть. Wbar в этом случае может выступать одним из быстрых [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://winreview.ru/wp-content/uploads/2011/12/wbar.jpg" rel="lightbox[253]"><img class="alignnone size-full wp-image-254" title="wbar" src="http://winreview.ru/wp-content/uploads/2011/12/wbar.jpg" alt="" width="582" height="40" /></a></p>
<p>Я считаю Warlock Bar (или попросту wbar) одной из лучших док-панелей для Linux. Легкая, быстрая, она служит удачным решением для легковесных сред вроде LXDE, равно как и для минималистических релизаций графического окружения, например, на базе Fluxbox, где рабочего стола как такового и вовсе может не быть. Wbar в этом случае может выступать одним из быстрых способов запустить нужное приложение. <span id="more-253"></span></p>
<p>К сожалению, официальный репозиторий на <a href="http://code.google.com/p/wbar/">гуглокоде</a> не содержит x64 deb-пакетов. Авторы ими не заморачиваются, и предоставляют взамен исходники. В репозиториях моего Debian Squeeze нашлась старая x64 сборка, которая имеет проблемы совместимости с LXDE - панель wbar попросту пропадает под рабочим столом PCManFM. В последнем wbar 2.2.2 такой проблемы нет, и мне захотелось заиметь последнюю версию этой полезной софтины, позволяющей мне убрать всевозможные аналоги Quick Launch и оставить больше места для кнопок приложений на панели LXDE.</p>
<p>Полный решимости, я было взялся собирать пакет, но на моё счастье уже знакомый читателю Дмитрий aka citadeldimon проделал всю грязную работу и собрал deb-пакет. Все заинтересованные лица могут скачать его по этой ссылке:</p>
<p><a href="https://skydrive.live.com/redir.aspx?cid=634ef24ab9b08de2&amp;resid=634EF24AB9B08DE2!673&amp;parid=634EF24AB9B08DE2!670&amp;authkey=!AKlv2A5O_lWwQlw">wbar_2.2.2-1_amd64.deb</a></p>
<dl class="codebox"><dt>Код: <a href="#" onclick="selectCode(this); return false;" class="postlink-local">Выделить всё</a></dt><dd><code>dpkg&nbsp;-i&nbsp;wbar_2.2.2-1_amd64.deb</code></dd></dl>
<p>В пакет также входит и графическая утилита настройки дока.</p>
<p><em>Надеюсь, засилие "линукосовых" публикаций не отпугнет итак немногочисленных читателей этого ресурса, но мне чертовски интересна эта тема.</em></p>
<img src="http://feeds.feedburner.com/~r/Winreviewru/~4/QYXUoOELg3U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://winreview.ru/wbar-x64-64-bitnyj-deb-paket-wbar-2-2-2-luchshego-iz-dokov-dlya-linux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://winreview.ru/wbar-x64-64-bitnyj-deb-paket-wbar-2-2-2-luchshego-iz-dokov-dlya-linux/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching using disk: basic
Object Caching 564/658 objects using disk: basic

Served from: winreview.ru @ 2012-02-24 21:25:18 -->

