CAT | Веб-разработка
11
Ссылка на неопубликованный материал в Joomla
0 Comments | Posted by admin in Веб-разработка
Чтобы в Joomla создать ссылку на неопубликованный материал, необходимо знать его ID, который можно посмотреть в самой правой колонке таблицы на странице материалов:

либо на странице самого материала под кнопками управления:

Далее, делая ссылку на этот материал мы используем URL/адрес такого формата:
index.php?option=com_content&view=article&id=ID_материала
Если следовать нашему примеру (ID материала равняет 38), адрес ссылки будет выглядеть так:

Следует обратить внимание на то, что материал, на который указана такая ссылка, будет отнесен к разделу, из которого она была сделана, иначе будут возникать дубли страниц, а поисковики этого сильно не любят.
Случайное изображение — как известно, стандартный модуль CMS Joomla, который выводит одно произвольное изображение определенного формата из указанной папки.
Делая один проект, понадобилось немного расширить функционал этого модуля, чтобы стало возможным:
- выводить несколько случайных изображений (не одно, как в стандартной версии модуля)
- выбирать количество отображаемых изображений
- работать с таким форматами, как: JPG, PNG, GIF.
За основу был взят стандартный новый модуль, который и был переделан. (далее…)
19
Ошибка phpBB: General Error Could not get style data
0 Comments | Posted by admin in Веб-разработка
General Error Could not get style data — неожиданную ошибку выдал движок форума phpBB при переезде на новый хостинг. Хотя ничего не предвещало беды: были скопированы все файлы со старого хостинга, перекинуты на новый без каких-либо изменений в их структуре; сохранна база и залита так же без изменений.

Открываю главную страницу — General Error Could not get style data!
Проблему решила очистка папки /cache/, расположенной в корне файлов движка и установка привилегий для неё:
chmod 777 cache
Хотя, я подозреваю, что достаточно было установки этих прав без удаления файлов из папки, но их удаление ни к чему плохому привести не могло.
Очередной раз при работе с VirtueMart потребовалось разместить категории товаров интернет-магазина, то есть корень самого магазина, на главную страницу сайта.
Полез искать, в интернете нашел 2 обсуждаемых способа, как это сделать:
- Тупо скопировать HTML-код категорий и разместить на главной странице модуль с произвольным HTML-текстом с этим кодом.
- Использовать плагин, к примеру, «VirtueMart category list» делающий это, но как-то коряво. По крайней мере, мне не понравилось.
Потом при работе с меню, чисто случайно, заметил следующее. (далее…)
Некоторые элементы дизайна могут требовать безпереносное отображения текста, состоящего из нескольких слов, разделенных знаками препинания или пробелами. Часто это встречается при верстке таблиц, когда колонка с большим по объёму содержанием ущемляет амбиции другой, которой необходимо выглядеть одной строкой. (далее…)
27
Резиновая вёрстка Div, две колонки (2 столбца)
11 Comments | Posted by admin in Веб-разработка
Верстая очередной раз довольно простую страницу DIV-ами неожиданно столкнулся с проблемой, на решение которой потратил довольно много времени.
Заданием было сверстать 2 колонки, причём, правая (#sidebar) имела фиксированную ширину (270px), а левая (#content) занимала всё остальное пространство, т.е. 100% – 270px.

Казалось бы всё просто. HTML:
<div id="main">
<div id="sidebar"></div>
<div id="content"></div>
</div>
CSS-код:
#main {
overflow:hidden;
}
#sidebar {
width:270px;
float:right;
}
#content{
margin-right:270px;
}
Но было ещё одно условие: в HTML-коде правый фиксированный DIV должен находиться после левого. То есть DIV с контентом должен находится раньше сайдбара в коде – для лучшей поисковой индексации непосредственно самого контента:
<div id="main">
<div id="content"></div>
<div id="sidebar"></div>
</div>
Решить проблему старым путём не удаётся. Интернет предлагает только предыдущий вариант верстки дивами в две колонки. Пришлось напрячься:
<div id="main">
<div id="content">
<div id="cont"></div>
</div>
<div id="sidebar"></div>
</div>
Как видно, появился новый элемент – div#cont. Теперь посмотрим на CSS и поймём, зачем он нужен:
#content {
float:left;
margin-left:-270px;
width:100%;
}
#sidebar {
float:right;
width:270px;
}
#cont {
margin-left:270px;
}
Что мы делаем? DIV#content отодвигаем влево ровно на 270px, чтобы влез сайдбар справа от него и вставляем в него же DIV#cont, внутри которого делаем отступ слева, чтобы наполнение сайта было в видимой части экрана. Вот, примерно, что получается:

В итоге имеем: валидную резиновую верстку DIV-ами в две колонки одинаковой высоты. Одна из которой имеет динамическую ширину, а другая фиксированная, причём, контент в коде находится перед сайдбаром.