vetka: (Default)
Пока не забыла, надо записать — чтоб второй раз не встать на эти грабли.

По умолчанию ссылки в Джумле выглядят примерно так:
www.site.com/index.php?option=com_jevents&view=year&task=year.listevents&Itemid=119&lang=ru
Страшненько так, и ни разу не человекопонятно. Чтобы этот недостаток исправить, в Джумлу встроена штатная фича алиасов. Прописываешь у нужного пункта меню желаемый алиас, например, calendar, включаешь нужные настройки, и эта же страшненькая ссылка уже будет выглядеть как www.site.com/calendar или даже как www.site.com/calendar.html. При этом, например, в тексте материалов ссылки лучше всё же размещать в исходном, страшненьком виде — а Джумла их уже сама любезно преобразует на выходе.

А глюк заключается в следующем. Если ссылка прописана как
<a href="index.php?option=com_jevents&view=year&task=year.listevents&Itemid=119&lang=ru">йа ссылко</a>
— Джумла ее преобразует в нашу заданную заранее красивенькую. А вот если эта же ссылка прописана как
<a href='index.php?option=com_jevents&view=year&task=year.listevents&Itemid=119&lang=ru'>йа ссылко</a>
— то она нифига не будет преобразована. Работать будет, но отображаться будет в исходном, страшненьком виде. Кто не разглядел разницы — поясняю: дело в кавычках.

Замечено было на Джумле 1.5.26 (и не надо мне ничего говорить про извращенцев, которые до сих пор сидят на полторахе). В двапятой не наблюдала - то ли уже исправили, то ли просто не попадалось.
vetka: (Default)
Ого, оказывается, Джумла 3 уже успела выйти! Потираю ручки в предвкушении.
vetka: (Default)
Сегодня бОльшую часть дня я развлекалась. Своеобразненько, скажем так. Суть развлечения состояла в том, что я изобретала велосипед обрабатывала напильником платный компонент, купленый моими клиентами (реально, честно купленый, причем, по моей же наводке; был бы пизженный с варезников — было бы не так обидно).

У замечательной (а начиная с версии 1.7 она действительно стала на мой взгляд замечательной) CMS Joomla существуют несколько разных компонентов интернет-магазинов. Общепризнанным стандартом стал Virtuemart, но он лишку монстрообразен — как с точки зрения подгонки под нужды конкретного сайта, так и с точки зрения администрирования. И когда очередным моим клиентам понадобился интернет-магазин, я стала искать альтернативы виртумарту — уж очень не хотелось трахаться с этим монстром. В качестве почти полной бесплатной альтернативы по функционалу на форумах упоминался компонент JoomShopping. Посмотрев на него вполглаза, я решила, что это то что надо. Поставила, стала настраивать. В процессе выяснилось, что такая элементарная функция, как сравнение товаров, в нем почему-то отсутствует. Точнее, существует, но в виде отдельного платного модуля. За его-то приобретением клиенты и были посланы («уж послала так послала!») к разработчику. Оплатили, получили, прикрутила я его к джумшоппингу. А вот при настройке и началось веселье.

Во-первых, выяснилось, что в самой табличке сравнения он генерит неправильный URL на товар, который в джумле вызывает 404 ошибку. Патамушта ID категории, который должен присутствовать в URLе, формально вроде как присутствует, а фактически — нет, не вытаскивается он текущим запросом («теоретически — так это лошадь, а практически — так она падает!»). Кстати, по поводу этого category_id тоже обнаружилось отдельное веселье. В джумшоппинге он хранится ни разу не в табличке с товарами. Он хранится в совершенно отдельной табличке, содержащей product_id и category_id. Нахрена так было делать — непонятно (при том, что аналогичный параметр — manufacturer_id — вполне себе хранится именно в табличке с товарами). Ладно, ID категории выгрызли, корректный URL сгенерили. Теперь собственно само сравнение. В табличке сравнения по умолчанию присутствуют: название продукта, картинка продукта (одна), ссылка на подробное описание (нерабочая) и кнопочка «удалить из сравнения». И еще характеристики товаров (типа — материал: оловянный, деревянный, стеклянный), которые в админке заполняются совершенно отдельно, а могут и не заполняться вовсе. Зато полностью отсутствуют цена товара, производитель, вес — на мой взгляд, как раз самые необходимые параметры для сравнения. И если с ценой возни практически не было — можно сказать, одно движение, и даже не напильником, а так — пилочкой для ногтей, то с производителем пришлось повозиться.

Победила в конце концов, фигли ж. Но общее впечатление от компонента в целом осталось — как будто его писало стопиццот индийских программистов, каждый — по своему крохотному кусочку кода. Что там теория вероятности утверждала о миллионе обезьян, посаженных за пишущие машинки? Вот примерно тот самый случай.
vetka: (Default)
Столкнулась с неприятным багом: при редактировании материалов в админке сайта на Joomla, с включенным редактором TinyMCE в относительных адресах картинок срезается первый слэш. Например, я в режиме HTML-редактирования черным по белому пишу ему: <img src="/images/kartinko1.jpg" />. Сохраняю. При сохранении оно само переключается на визуальный редактор, и в конечной страничке этот кусок выглядит уже таким образом: <img src="images/kartinko1.jpg" />. И дальше начинаются глюки. То есть, если адрес страницы, на которой находится эта картинка, выглядит как http://site.com/stranichka.html или даже как http://site.com/stranichka — то всё нормально. А вот если он выглядит, например, как http://site.com/ru/razdel/category/stranichka — тогда картинку на страничке просто-напросто не видно. Пробовала разные шаманские пляски. Отключала очистку кода при сохранении в настройках TinyMCE — но это была стрельба по воробьям из пушки, тем более, что в отместку эта зараза мне начинала свой мусор туда кидать (типа <img src="/images/kartinko.jpg" mce_src="images/kartinko.jpg" style="border: 0pt none; float: left; padding-right: 20px;" mce_style="border: 0; float:left; padding-right: 20px;" />). Подставляла абсолютный URL вместо относительного, но это и вовсе было не выходом, поскольку я часто редактирую материалы на локальном зеркале сайта, а потом просто переношу дамп базы. Обильное гугление дало результаты: на оффсайте TinyMCE советовали в параметры вызова редактора включать строчку convert_urls : false. Осталось найти еще, где это всё вызывается в Джумле. А вызывается оно в файлике /plugins/editors/tinymce.php. В нем ищем саму строку вызова: tinyMCE.init({ ... }) (она там встречается аж три раза) и внутрь каждой из них пихаем этот параметр. Сохраняем, редактируем наши материалы с картинками заново, и наслаждаемся жизнью, попутно недоумевая — почему непременно необходимо дорабатывать напильником и нельзя просто настроить этот параметр через веб-интерфейс.
vetka: (Default)
Долгое время сотрудничала с одной вебстудией, потом в совместной работе случился довольно длительный перерыв, а сейчас опять подкинули макет на верстку. Так в ТЗ в качестве, типа, корпоративного стандарта дали указание использовать названия классов именно те, что я еще в начале сотрудничества с ними ввела в качестве своего собственного стандарта — для своего же удобства. Забавно, так вот нечаянно-негаданно вдруг оказываешься основателем корпоративных стандартов. Пустячок, а приятно.
vetka: (Default)
Соберу-ка я в этот пост коллекцию полезных ссылочек на всякие вебдевелоперские сайты. Под катом, чтобы не портить себе карму в поисковиках. )
vetka: (carib)
Сабж. Минус глушак. Скатались, блин, за продуктами в магазин. Бедный наш машинк... :-/

Еще раз к сведению заинтересованных лиц: квалифицированный HTML-верстальщик с солидным портфолио (то бишь я) ищет заказы по верстке сайтов из материалов дизайна заказчика. Качество гарантируется. Ну и до кучи, чтоб два раза не вставать, еще напомню, что квалифицированный системный администратор (то бишь [livejournal.com profile] alex_rex) ищет как разовую подработку на любую компьютерную тематику (собрать-протянуть-полечить-настроить) так и постоянную работу по специальности.

Зато у нас теперь чистапацаномобиль с прямотоком. За версту слышно.

(no subject)

Thursday, 4 September 2008 13:19
vetka: (comp)
Господи, какое счастье: запихнуть младшее в ванну, запихнуть старшее на табуретку рядом, чтоб присматривало, а самой — за комп, и работать-работать-работать! Жаль, недолго сие счастье длится.
vetka: (mosk)
Говорите, русские буквы в именах файлов? Так я вам вот что скажу: русские буквы — это, знаете ли, хуйня. А вот когда заказчик присылает вам новый вариант старого проекта и просит сверстать его еще раз, поскольку клиент захотел новый дизайн (не подумайте чего, за отдельную плату, разумеется), вы скачиваете этот макет (9 метров в rar'чике, внутри psd'шник на 18 метров — ну, по большому счету тоже не смертельно), открываете этот psd'шник, и что же там обнаруживается? Думаете, новый дизайн? Хрен там! Дизайн всё тот же старый. Только поверх него еще один слой с тем самым новым вариантом. Ага, всё-всё-всё в едином растровом слое — и логотип, и шапка, и бекграунд, и все тексты поверх бекграунда. Естественно, я их послала подальше с таким заказом — и счастье того дезигнера, что у меня нет физической возможности дотянуться до него, разорвала бы на кусочки, ей-богу! Нечасто меня работа (вообще-то любимая) ввергает в полное бешенство, но тут именно тот самый случай.

И что в каком месте у таких дезингеров должно вырасти? (Лучше всего бы, конечно, мозги, но боюсь, это из области фантастики.)

Вот даже под замок прятать не буду, увидят — и нехай.

(no subject)

Wednesday, 22 March 2006 10:58
vetka: (Default)
Обнаружила еще одну кажется недокументированную багу ИЕ5.0 и попутно способ лечения. Известный CSS-хак для ИЕ < 6.0, способ переназначить стили, которые он интерпретирует по-своему:

<style type="text/css">
div#cont { float: left; width: 685px; /* Здесь пишем значение для ИЕ < 6.0 */ voice-family: "\"}\""; voice-family:inherit; width: 100%; /* А здесь для всех остальных браузеров. */ }
div#cont2 { /* Любой следующий селектор */ margin-right: 159px; }
</style>


Способ всем известный, НО. ИЕ 5.5 после этого продолжает обрабатывать стили нижеследующих селекторов, как положено. А вот ИЕ 5.0 следующий за этим хаком селектор напрочь игнорирует! Поэтому, для того, чтобы он продолжил обрабатывать остальные стили, после хака вставляем любой селектор с пустыми значениями. И код выглядит следующим образом:

<style type="text/css">
div#cont { float: left; width: 685px; /* Здесь пишем значение для ИЕ < 6.0 */ voice-family: "\"}\""; voice-family:inherit; width: 100%; /* А здесь для всех остальных браузеров. */ }
.empty { } /* Пустой селектор, нужный исключительно для ИЕ 5.0 */
div#cont2 { /* Любой следующий селектор */ margin-right: 159px; }
</style>


А вот только что пришла в голову еще одна идея: ведь можно вставлять не пустой селектор, а как раз тот, который и нужно скрыть от ИЕ 5.0. Только нужно учесть, что в ИЕ 5.5 он будет обрабатываться.

«Меж двух стульев»

«Все это — и дикое несоответствие частей, и странный лексический контраст, не говоря уже о голосе, невероятным образом совмещавшем в себе разные регистры, — настолько ошарашило Петропавла, что тот не только не извинился, но и не поздоровался.

— Смежная Королева, — очаровательно противно улыбнулась хозяйка и, опять не дождавшись ответа, предложила: — Входите, пожалуйста, или гребите отсюда тогда уж!»

(Евгений Клюев. «Меж двух стульев»)

December 2015

S M T W T F S
  12345
6789101112
131415 16171819
20212223242526
2728293031  

Expand Cut Tags

No cut tags
Page generated Monday, 25 September 2017 20:21
Powered by Dreamwidth Studios