Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Хаки и Скрипты Next Generation CMS/Записи в блоге |
Хаки и Скрипты Next Generation CMS
Голосов: 1 Адрес блога: http://ngcmshak.ru Добавлен: 2013-12-31 14:21:51 блограйдером 88888888 |
|
Красивые всплывающие подсказки на CSS3 без использования графики
2013-12-17 02:16:47 (читать в оригинале)Все владельцы сайтов стремятся сделать свои проекты уникальным в дизайне. Дизайн должен быть легким и не нагружать страницы вашего сайта, для это есть масса красивых штучек, одну из которых я вам распишу ниже как установить и настроить под дизайн своего проекта.
Ну приступим
Чтобы подсказка появлялся в ссылке используется не совсем стандартный вариант, как правило все подсказки построены на теге alt или title в нашем случае этот тип не используется так как необходимо накладывать несколько стилей для вывода класса стиля, используется в ссылке class="cursorhelp blue-cursorhelp" где cursorhelp - это окно blue-cursorhelp - это цветность окна
1.Сам вид ссылки
<a href="http://ucozua.ru/index/podskazka_primer_skripta/0-395" class="cursorhelp blue-cursorhelp">Наведите курсором на ссылку<span>Наведите курсором на ссылку<br>Подсказка для ngcmshak.ru<br>вставляем текст</span></a>
2.Теперь для этой ссылки выбираем цвет стиля и вставляйте его в таблицу стилей
Серый цвет подсказки подсказки:
.cursorhelp
{
position: relative;
cursor: help;
display: inline-block;
text-decoration: none;
color: #222;
outline: none;
}
.cursorhelp span
{
visibility: hidden;
position: absolute;
bottom: 30px;
left: 50%;
z-index: 999;
width: 230px;
margin-left: -127px;
padding: 10px;
border: 2px solid #ccc;
opacity: .9;
background-color: #ddd;
background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
.cursorhelp:hover
{
border: 0; /* IE6 fix */
}
.cursorhelp:hover span
{
visibility: visible;
}
.cursorhelp span:before,
.cursorhelp span:after
{
content: "";
position: absolute;
z-index: 1000;
bottom: -7px;
left: 50%;
margin-left: -8px;
border-top: 8px solid #ddd;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 0;
}
.cursorhelp span:before
{
border-top-color: #ccc;
bottom: -8px;
}
/* Color red*/
.blue-cursorhelp span
{
border-color: #ff0000;
background-color: #ff3300;
}
.blue-cursorhelp span:after
{
border-top-color: #ff3300;
}
.blue-cursorhelp span:before
{
border-top-color: #ff0000;
}
Зеленый цвет подсказки подсказки:
Код: Выделить всё
.cursorhelpКрасный цвет подсказки подсказки:
{
position: relative;
cursor: help;
display: inline-block;
text-decoration: none;
color: #222;
outline: none;
}
.cursorhelp span
{
visibility: hidden;
position: absolute;
bottom: 30px;
left: 50%;
z-index: 999;
width: 230px;
margin-left: -127px;
padding: 10px;
border: 2px solid #ccc;
opacity: .9;
background-color: #ddd;
background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
.cursorhelp:hover
{
border: 0; /* IE6 fix */
}
.cursorhelp:hover span
{
visibility: visible;
}
.cursorhelp span:before,
.cursorhelp span:after
{
content: "";
position: absolute;
z-index: 1000;
bottom: -7px;
left: 50%;
margin-left: -8px;
border-top: 8px solid #ddd;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 0;
}
.cursorhelp span:before
{
border-top-color: #ccc;
bottom: -8px;
}
/* Color red*/
.blue-cursorhelp span
{
border-color: #ff0000;
background-color: #ff3300;
}
.blue-cursorhelp span:after
{
border-top-color: #ff3300;
}
.blue-cursorhelp span:before
{
border-top-color: #ff0000;
}
.cursorhelpСиний цвет подсказки подсказки:
{
position: relative;
cursor: help;
display: inline-block;
text-decoration: none;
color: #222;
outline: none;
}
.cursorhelp span
{
visibility: hidden;
position: absolute;
bottom: 30px;
left: 50%;
z-index: 999;
width: 230px;
margin-left: -127px;
padding: 10px;
border: 2px solid #ccc;
opacity: .9;
background-color: #ddd;
background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
.cursorhelp:hover
{
border: 0; /* IE6 fix */
}
.cursorhelp:hover span
{
visibility: visible;
}
.cursorhelp span:before,
.cursorhelp span:after
{
content: "";
position: absolute;
z-index: 1000;
bottom: -7px;
left: 50%;
margin-left: -8px;
border-top: 8px solid #ddd;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 0;
}
.cursorhelp span:before
{
border-top-color: #ccc;
bottom: -8px;
}
/* Color zeleni*/
.blue-cursorhelp span
{
border-color: #00ff00;
background-color: #00FF00;
}
.blue-cursorhelp span:after
{
border-top-color: #00FF00;
}
.blue-cursorhelp span:before
{
border-top-color: #00FF00;
}
Желтый цвет подсказки подсказки:
Код: Выделить всё
.cursorhelp
{
position: relative;
cursor: help;
display: inline-block;
text-decoration: none;
color: #222;
outline: none;
}
.cursorhelp span
{
visibility: hidden;
position: absolute;
bottom: 30px;
left: 50%;
z-index: 999;
width: 230px;
margin-left: -127px;
padding: 10px;
border: 2px solid #ccc;
opacity: .9;
background-color: #ddd;
background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
.cursorhelp:hover
{
border: 0; /* IE6 fix */
}
.cursorhelp:hover span
{
visibility: visible;
}
.cursorhelp span:before,
.cursorhelp span:after
{
content: "";
position: absolute;
z-index: 1000;
bottom: -7px;
left: 50%;
margin-left: -8px;
border-top: 8px solid #ddd;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 0;
}
.cursorhelp span:before
{
border-top-color: #ccc;
bottom: -8px;
}
/* Color galban*/
.blue-cursorhelp span
{
border-color: #FFFF00;
background-color: #FFFF66;
}
.blue-cursorhelp span:after
{
border-top-color: #FFFF66;
}
.blue-cursorhelp span:before
{
border-top-color: #FFFF00;
}
.cursorhelpВся настройка цвета окошка происходит во вторичном стиле к примеру как в последнем стиле светло синем
{
position: relative;
cursor: help;
display: inline-block;
text-decoration: none;
color: #222;
outline: none;
}
.cursorhelp span
{
visibility: hidden;
position: absolute;
bottom: 30px;
left: 50%;
z-index: 999;
width: 230px;
margin-left: -127px;
padding: 10px;
border: 2px solid #ccc;
opacity: .9;
background-color: #ddd;
background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
.cursorhelp:hover
{
border: 0; /* IE6 fix */
}
.cursorhelp:hover span
{
visibility: visible;
}
.cursorhelp span:before,
.cursorhelp span:after
{
content: "";
position: absolute;
z-index: 1000;
bottom: -7px;
left: 50%;
margin-left: -8px;
border-top: 8px solid #ddd;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 0;
}
.cursorhelp span:before
{
border-top-color: #ccc;
bottom: -8px;
}
/* Color bluue*/
.blue-cursorhelp span
{
border-color: #59add4;
background-color: #61bde7;
}
.blue-cursorhelp span:after
{
border-top-color: #61bde7;
}
.blue-cursorhelp span:before
{
border-top-color: #59add4;
}
Вот вам 4 настройки:
1 Цвет бордюра
2 Цвет фона
3 Цвет бордюра уголка стрелки
4 Цвет бордюра верха тени
/* Color bluue*/
.blue-cursorhelp span
{
border-color: #59add4; /*Цвет бордюра*/
background-color: #61bde7; /*Цвет фона*/
}
.blue-cursorhelp span:after
{
border-top-color: #61bde7; /*Цвет бордюра уголка стрелки*/
}
.blue-cursorhelp span:before
{
border-top-color: #59add4; /*Цвет бордюра верха тени*/
}
Стильное адаптивное меню с поддержкой retina
2013-12-15 19:58:42 (читать в оригинале)Стильное адаптивное меню с поддержкой retina.
1.Скачиваем исходники [isnt-logged]Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам responsiveretinareadymenu.zip (28.13 Kb)[/is-logged] ,распаковываем и заливаем в папку с вашим шаблоном.
2.подключаем в хеад main.tpl скрипт и стиль нашего меню.
<link rel="stylesheet" type="text/css" href="{tpl_url}/css/component.css" />3. Добавляем само меню в body сайта
<script src="{tpl_url}/js/modernizr.custom.js"></script>
<nav id="menu" class="nav">4.Н и последнее перед /body добавляем скрипт инициализации нашего меню
<ul>
<li>
<a href="#">
<span class="icon">
<i aria-hidden="true" class="icon-home"></i>
</span>
<span>Home</span>
</a>
</li>
<li>
<a href="#">
<span class="icon">
<i aria-hidden="true" class="icon-services"></i>
</span>
<span>Services</span>
</a>
</li>
<li>
<a href="#">
<span class="icon">
<i aria-hidden="true" class="icon-portfolio"></i>
</span>
<span>Portfolio</span>
</a>
</li>
<li>
<a href="#">
<span class="icon">
<i aria-hidden="true" class="icon-blog"></i>
</span>
<span>Blog</span>
</a>
</li>
<li>
<a href="#">
<span class="icon">
<i aria-hidden="true" class="icon-team"></i>
</span>
<span>The team</span>
</a>
</li>
<li>
<a href="#">
<span class="icon">
<i aria-hidden="true" class="icon-contact"></i>
</span>
<span>Contact</span>
</a>
</li>
</ul>
</nav>
<script>Вроде все ,пишем комменты.
// The function to change the class
var changeClass = function (r,className1,className2) {
var regex = new RegExp("(?:^|\\s+)" + className1 + "(?:\\s+|$)");
if( regex.test(r.className) ) {
r.className = r.className.replace(regex,' '+className2+' ');
}
else{
r.className = r.className.replace(new RegExp("(?:^|\\s+)" + className2 + "(?:\\s+|$)"),' '+className1+' ');
}
return r.className;
};
// Creating our button in JS for smaller screens
var menuElements = document.getElementById('menu');
menuElements.insertAdjacentHTML('afterBegin','<button type="button" id="menutoggle" class="navtoogle" aria-hidden="true"><i aria-hidden="true" class="icon-menu"> </i> Menu</button>');
// Toggle the class on click to show / hide the menu
document.getElementById('menutoggle').onclick = function() {
changeClass(this, 'navtoogle active', 'navtoogle');
}
// http://tympanus.net/codrops/2013/05/08/responsive-retina-ready-menu/comment-page-2/#comment-438918
document.onclick = function(e) {
var mobileButton = document.getElementById('menutoggle'),
buttonStyle = mobileButton.currentStyle ? mobileButton.currentStyle.display : getComputedStyle(mobileButton, null).display;
if(buttonStyle === 'block' && e.target !== mobileButton && new RegExp(' ' + 'active' + ' ').test(' ' + mobileButton.className + ' ')) {
changeClass(mobileButton, 'navtoogle active', 'navtoogle');
}
}
</script>
Выводим блок похожие новости (simular) в короткую новость
2013-12-12 16:09:06 (читать в оригинале)Небольшой хак для плагина simular (похожие новости),поможет вывести блок в короткую новость,сразу предупреждаю о нагрузке на сервер.
Итак приступим.
1. Идем в директорию /engine/plugins/similar/ и открываем файл similar.php,и меняем
if ($mode['style'] == 'full') {на
if (($mode['style'] == 'full') || ($mode['style'] == 'short')) {Вот и все,добавляем в файл news.short.tpl переменную плагина
{% if pluginIsActive('similar') %}{{ plugin_similar_tags }}{% endif %}Через твиг можно задать разное оформление блока для короткой и полной новости пример файл similar_entry.tpl
[TWIG]Еще небольшой хак в дополнение,вывод разного количества похожих новостей для короткой и полной новости
{% if isHandler('news:by.category|news:main') %}
<section class="is-feature">
<div style="width:270px;height: 270px;"><center>
<a class="image image-full" href="{url}">
{% if (p.xfields.fotos.count < 1) %}
<img src="{{ tpl_url }}/images/img-none.jpg" width="100%" />
{% else %}
<img src="{{ p.xfields.fotos.entries[0].url }}" width="100%" />
{% endif %}</a></center></div>
<h3><a href="{url}">{title}</a></h3>
</section>
{% else %}
<div class="4u">
<section class="is-feature">
<div style="width:270px;height: 270px;"><center>
<a class="image image-full" href="{url}">
{% if (p.xfields.fotos.count < 1) %}
<img src="{{ tpl_url }}/images/img-none.jpg" width="100%" />
{% else %}
<img src="{{ p.xfields.fotos.entries[0].url }}" width="100%" />
{% endif %}</a></center></div>
<h3><a href="{url}">{title}</a></h3>
</section></div>
{% endif %}
[/TWIG]
опять идем в директорию /engine/plugins/similar/ и открываем файл similar.php и меняем там все на этот код
<?phpтеперь изменять количество вывода похожих новостей из админки не получится,если надо изменить количество то ищем этот код
// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');
// Preload plugin tags
load_extras('core', 'tags');
include_once("inc/similar.php");
class SimilarNewsfilter extends NewsFilter {
function addNewsNotify(&$tvars, $SQL, $newsid) {
global $mysql;
$scount = pluginGetVariable('similar', 'count');
$scount = (($scount < 1)||($scount > 20))?5:$scount;
// Make reset for all tags for new news
plugin_similar_reset($newsid);
return 1;
}
// Make changes in DB after EditNews was successfully executed
function editNewsNotify($newsID, $SQLnews, &$SQLnew, &$tvars) {
global $mysql;
if (!$SQLnews['approve'])
return 1;
// Reset linked news
plugin_similar_resetLinked($newsID);
// Reset news with the same tags [ AFTER actual edit - new tags ]
plugin_similar_reset($newsID);
return 1;
}
// Add {plugin_similar} variable into news
function showNews($newsID, $SQLnews, &$tvars, $mode = array()) {
global $mysql, $tpl, $PFILTERS;
$tpath = locatePluginTemplates(array('similar', 'similar_entry'), 'similar', pluginGetVariable('similar', 'localsource'));
// Show similar news only in full mode
if (($mode['style'] == 'full') || ($mode['style'] == 'short')) {
$scount = pluginGetVariable('similar', 'count');
$scount = (($scount < 1)||($scount > 20))?5:$scount;
$similars = plugin_similar_recover($newsID, $scount);
if($mode['style'] == 'full') {
$similars = plugin_similar_recover($newsID, 6);
}
elseif($mode['style'] == 'short') {
$similars = plugin_similar_recover($newsID, 3);
}
// Locate similar news
// Accroding to pcall parameter we should decide if full data export from news should be done
$callingParams = array();
// Filter for dimensions
$filter = '';
if (!($similar_enabled = intval(pluginGetVariable('similar', 'similar_enabled'))) || !($samecat_enabled=intval(pluginGetVariable('similar', 'samecat_enabled')))) {
if ($similar_enabled) {
$filter = 'and (dimension = 0)';
} else if ($samecat_enabled) {
$filter = 'and (dimension = 1)';
} else
$filter = 'and 0';
}
$query = "select n.id, n.catid, n.alt_name, n.postdate, si.id as si_id, si.dimension as si_dimension, si.newsID as si_newsID, si.refNewsID as si_refNewsID, si.refNewsQuantaty as si_refNewsQuantaty, si.refNewsTitle as si_refNewsTitle, si.refNewsDate as si_refNewsDate from ".prefix."_similar_index si left join ".prefix."_news n on n.id = si.refNewsID where si.newsID = ". db_squote($newsID).' '.($filter!=''?$filter.' ':'')."order by si.refNewsQuantaty desc";
if (pluginGetVariable('similar', 'pcall')) {
$query = "select n.*, si.id as si_id, si.dimension as si_dimension, si.newsID as si_newsID, si.refNewsID as si_refNewsID, si.refNewsQuantaty as si_refNewsQuantaty, si.refNewsTitle as si_refNewsTitle, si.refNewsDate as si_refNewsDate from ".prefix."_similar_index si left join ".prefix."_news n on n.id = si.refNewsID where si.newsID = ". db_squote($newsID).' '.($filter!=''?$filter.' ':'')."order by si.refNewsQuantaty desc";
$callingParams['plugin'] = 'lastnews';
switch (intval(pluginGetVariable('similar', 'pcall_mode'))) {
case 1: $callingParams['style'] = 'short';
break;
case 2: $callingParams['style'] = 'full';
break;
default: $callingParams['style'] = 'export';
}
// Preload plugins
load_extras('news:show');
load_extras('news:show:one');
}
if (($similars == 2) && count($similarRows = $mysql->select($query))) {
// Array for dimensions of data [ similar / same category ]
$result = array('', '');
foreach ($similarRows as $similar) {
$txvars = array ();
// Execute filters [ if requested ]
if (pluginGetVariable('similar', 'pcall') && is_array($PFILTERS['news']))
foreach ($PFILTERS['news'] as $k => $v) { if ($k != 'similar') $v->showNewsPre($similar['id'], $similar, $callingParams); }
// Set formatted date
$dformat = pluginGetVariable('similar','dateformat')?pluginGetVariable('similar','dateformat'):'{day0}.{month0}.{year}';
$txvars['vars']['date'] = str_replace(array('{day}', '{day0}', '{month}', '{month0}', '{year}', '{year2}', '{month_s}', '{month_l}'),
array(date('j',$similar['si_refNewsDate']), date('d',$similar['si_refNewsDate']), date('n',$similar['si_refNewsDate']), date('m',$similar['si_refNewsDate']), date('y',$similar['si_refNewsDate']), date('Y',$similar['si_refNewsDate']), $langShortMonths[date('n',$similar['si_refNewsDate'])-1], $langMonths[date('n',$similar['si_refNewsDate'])-1]), $dformat);
$txvars['vars']['title'] = $similar['si_refNewsTitle'];
$txvars['vars']['url'] = newsGenerateLink($similar);
// Execute filters [ if requested ]
if (pluginGetVariable('similar', 'pcall') && is_array($PFILTERS['news']))
foreach ($PFILTERS['news'] as $k => $v) { if ($k != 'similar') $v->showNews($similar['id'], $similar, $txvars, $callingParams); }
$tpl -> template('similar_entry', $tpath['similar_entry']);
$tpl -> vars('similar_entry', $txvars);
$result[$similar['si_dimension']] .= $tpl -> show('similar_entry');
}
$tpl -> template('similar', $tpath['similar']);
$tpl -> vars('similar', array ( 'vars' => array ('entries' => $result[0])));
$tvars['vars']['plugin_similar_tags'] = $tpl -> show('similar');
} else {
$tvars['vars']['plugin_similar_tags'] = '';
$tvars['vars']['plugin_similar_categ'] = '';
}
}
return 1;
}
// Mass news modify
function massModifyNewsNotify($idList, $setValue, $currentData) {
// We are interested only in 'approve' field modification
if (!isset($setValue['approve']))
return 1;
// Turn on - call RESET()
if (!$setValue['approve']) {
plugin_similar_reset($idList);
} else {
// Turn off - call renew for all linked news
plugin_similar_resetLinked($idList);
}
return 1;
}
function deleteNews($newsID, $SQLnews) {
global $mysql;
plugin_similar_resetLinked($newsID);
// Delete similarity info
$mysql->query("delete from ".prefix."_similar_index where newsID = ".intval($newsID));
}
}
// Activate plugin ONLY if plugin tags already activated
if (getPluginStatusActive('tags')) {
register_filter('news','similar', new SimilarNewsFilter);
}
if($mode['style'] == 'full') {и меняем 6 и 3 на количество нужное вам
$similars = plugin_similar_recover($newsID, 6);
}
elseif($mode['style'] == 'short') {
$similars = plugin_similar_recover($newsID, 3);
}
ну теперь все
Рисуем макет шаблона в фотошопе
2013-12-08 15:39:52 (читать в оригинале)Сегодня представлю вам урок как нарисовать макет шаблона сайта в фотошопе.
Шаг 1. Для того, чтобы у нас всё было ровно и правильно, мы будем использовать Сетчатую систему 960s (http://960.gs/),
Когда Вы загрузите файлы, откройте "960_grid_24_col.psd".
Мы начнем с того, что создадим слой с фоном из заднего плана, щелчок правой клавишей мыши по фону>Из заднего плана...,
назовите этот слой "bg".
Шаг 2. Так как мы будем использовать направляющие, мы должны активировать функцию отображения Линейки (Ctrl+R) или Просмотр>Линейки.
Шаг 3. Установим границу для области заголовка, нарисуем горизонтальную направляющую: Просмотр>Новая направляющая, Положение: 100.
Шаг 4. Создадим заголовок. Создайте прямоугольное выделение размером 1020х100px. Нажмите Shift+Backspace, для заливки цветом данного выделения (можете выбрать любой цвет).
Примените для этого слоя Стиль слоя>Наложение градиента со следующими настройками:
Назовите этот слой “header_bg”.
Шаг 5. Напишите название Вебсайта, используя следующие настройки:
Гарнитура шрифта: ">Rockwell
Размер шрифта: 30px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: Цвет не имеет значения, так как будем применять Наложение градиента
Примените к слою с текстом Стиль слоя>Наложение градиента со следующими параметрами:
Выровняем наш заголовок относительно фона: выберете слой с заголовком и слой "header_bg" и нажмите "Выравнивание центров по вертикали".
Шаг 6. Напишите заголовки навигационного меню со следующими настройками:
Гарнитура шрифта: Arial
Размер шрифта: 20px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: #ffffff
Используя Инструмент Прямоугольник со скругленными углами (U), создайте фигуру размером примерно 65х35px и радиусом скругления углов 5px,
(пока можете заполнить это любым цветом).
Примените Стиль слоя>Наложение градиента и Стиль слоя>Обводка
Прежде, чем перейти к следующему шагу, удостоверьтесь, что Ваши слои расположены именно так, как показано на изображении.
Шаг 7. Пришло время создать область для размещения контента. Установите горизонтальную направляющую, на расстоянии 430px от предыдущей.
Создайте выделение размером 1020х430px. и заполните его любым цветом
Примените к этому слою Стиль слоя>Наложение градиента
Теперь давайте создадим эффект глянца! создайте выделение размером 1020х120px, заполните его любым цветом.
Стиль слоя>Наложение градиента
Уменьшим прозрачность этого слоя до 40%.
Шаг 8. Давайте добавим несколько деталей! С помощью Инструмента Прямоугольная область (М) создайте выделение в 1px, разместите его как показано ниже:
Выберите цвет переднего плана #acd86e, нажмите на Shift+Backspace, чтобы заполнить выделение.
У Вас получились замечательные детали.
Мы cоздали второстепенные элементы. Удостоверьтесь, чтобы у них были названия, и объедините их в группу
Шаг 9. Для того, чтобы быть совсем уж точными протяните две новых направляющих, как показано ниже.
>
Напишите некоторые приветственные слова используя следующие настройки:
Гарнитура шрифта: Rockwell
Размер шрифта: 40px
Начертание: Regular
Метод сглаживания: Резкое
Цвет: #f4f4f4
Я лично написал: “Вот наша совершенно новая работа. Ой Добро пожаловать!”, но мы должны выделить слово "Welcome!"
Применим Стиль слоя>Наложение градиента со следующими настройками
Теперь расположите две горизонтальных направляющих как показано ниже
Прежде чем перейти к следующему шагу, удостоверьтесь, что Ваши текстовые слои расположены именно так, как показано на изображении.
Шаг 10. Начнём с создания выделения 250х150px (заполните любым цветом), это будет нашей рамкой для изображения
Назовите этот слой "pic_holder" и выровняйте его как показано на изображении выше
Примените Стиль слоя>Обводка
Давайте вставим изображение в наш проект, Файл>Поместить... и выберите изображение. Назовите слой "pic", поместите его выше слоя “pic_holder”. Правый щелчок на слое "pic" Создать Обтравочную Маску.
Шаг 11. Создадим отражение для изображения в рамке, дублируем два слоя "pic" и “pic_holder”.
Дублируем два выбранных слоя, Редактирование>Свободное Транформирование, и ставим "-" перед значением высоты.
Выбрав два продублированных слоя, выполните щелчок правой клавишей по слою и выбираем Преобразовать в смарт-объект; назовите этот слой "shadow". Разместите этот слой ниже всех, как показано ниже.
Выберите слой "shadow" и добавьте слой-маску .
Выберите линейный Градиент (G) от чёрного к белому, проведите с нижнего края до верхнего.
У Вас должно получиться нечто подобное!
Шаг 12. Мы должны добавить описание к нашему изображению. Создайте выделение размером 240х25px, и заполните это выделение: #1a1919. Это будет являться фоном описания.
Напишите некоторое описание с этими параметрами настройки характера:
Гарнитура шрифта: Arial
Размер шрифта: 15px
Начертание: Regular
Метод сглаживания: Нет
Цвет: #82aa48
Удостоверьтесь, что слои расположены так же, как на изображении ниже
>
Шаг 13. Вставьте ещё одно изображение и примените к нему тот же стиль, что и к предыдущему изображению (Скопировать стиль слоя>Вклеить стиль слоя) и выровняйте его по правой стороне.
Центральное изображение сделаем немного крупнее, так что сделайте выделение размером 340х200px, выровняйте его как показано ниже, и залейте его любым цветом.
Применим к нему Стиль слоя>Обводка, применив следующие настройки:
Вот что должно получиться!
Удостоверьтесь, что Ваши слои сгруппированы. Я лично создал три отдельные группы (Для первого, второго и третьего изображения соответственно). Вот что получилось у меня.
Шаг 14. Давайте создадим кнопку «пролистывания»! Начнём с того, что создадим эллипс размером 50х50px, используя Инструмент Овальная область (M), и заполните его любым цветом.
Добавим Стиль слоя, как показано ниже.
Используя Инструмент Произвольная фигура (U), создайте стрелку, применив к слою следующие настройки:
Должно получиться что-то подобное:
Не забудьте про выравнивание по направляющим.
Сделайте копию кнопки и перенесите её на правую сторону.
Шаг 15. Давайте возьмёмся за основную область. Для начала создадим выделение размером 1020х815px
Выберите в палитре цветов #e8e8e8 и нажмите Shift+Backspace.
Используя Инструмент Область (горизонтальная строка), создайте выделение в 1рх, разместите его как показано на изображении и залейте его белым цветом (#ffffff).
У Вас должна получиться прекрасная окантовка!
Шаг 16. Мы должны установить верхние границы в нашей области для контента. Поэтому установим горизонтальную направляющую с положением 50px.
Загрузите набор иконок: Basic Set – Pixel Mixer и после загрузки разместите, как показано на изображении.
Расположите новую горизонтальную направляющую на расстоянии 20px. Создайте заголовок для изображения, используя следующие настройки:
Гарнитура шрифта: Rockwell
Размер шрифта: 29px
Начертание: Regular
Метод сглаживания: Нет
Цвет: #81aa48
Создайте ещё две направляющие.
Напишите текст с параметрами:
Гарнитура шрифта: Arial
Размер шрифта: 15px
Начертание: Regular
Метод сглаживания: Нет
Цвет: #2f3235
Создайте ещё 3 горизонтальных направляющих.
Шаг 17. Пришло время создать кнопку “read more”. С помощью Инструмента Прямоугольник со скругленными углами (U) создайте прямоугольник размером 100х30px и радиусом закругления в 5px. Заполните его любым цветом.
Применим к слою Стиль слоя.
С помощью Инструмента Эллипс (U) создайте фигуру размером 15х15px и заполните её цветом: #4d4d4d. Для вертикального выравнивая воспользуемся функцией Выравнивание центров по вертикали, для этого выберите слой с прямоугольником и кругом.
Наберите знак “+”, закрасьте его белым цветом (#ffffff) и разместите его как показано ниже.
Напишите “read more” со следующими параметрами настройки:
Гарнитура шрифта: Tahoma
Размер шрифта: 12px
Начертание: Regular
Метод сглаживания: Нет
Цвет: #ffffff
Примените к тексту Стиль слоя>Тень.
Шаг 18. Чтобы создать вертикальную линию раздела, будем использовать Инструмент Линия (U). Создадим две вертикальных линии рядом друг с другом, заполним
их цветами соответственно: #ffffff - #b3b3b3.
Выровняйте линии как показано ниже.
Не забывайте про структуру организации своих слоёв.
Шаг 19. Сделайте три копии того, что мы создали в предыдущих двух шагах. Вот что должно получиться!
Шаг 20. Давайте создадим разделитель. Расположите новую горизонтальную направляющую на расстоянии 50px от края созданной кнопки "read more".
Инструмент Овальная область (М)
Выберите цвет переднего плана черный (#000000), нажмите Shift+Backspace. Назовите этот слой “separator_bg”.
Сделаем это изображение размытым. Фильтр>Размытие>Размытие по Гауссу с радиусом 3px.
Выбрав слой “separator_bg” сделайте прямоугольное выделение, как показано ниже и удалите лишнее.
Добавим слой-маску к слою с разделителем. Инструмент Градиент (G) - чёрный-белый-чёрный
Протяните линейным градиентом от правого до левого конца разделителя.
Уменьшите прозрачность слоя до 50%.
С помощью Инструмента Линия (U), создайте две горизонтальные линии, разместите их рядом друг с другом, выше разделителя (“separator_bg”).
Заполните их цветами #b3b3b3 - #ffffff соответственно и добавьте такую же маску слоя как и к слою с разделителем.
Шаг 21. Начнём работать с нижней частью, расположим горизонтальную направляющую на расстоянии 50px от нашего разделителя.
Добавьте заголовок с этими параметрами:
Гарнитура шрифта: Rockwell
Размер шрифта: 30px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: #81aa48
Расположите две направляющие так, как показано на изображении ниже:
Напишите текст с этими параметрами:
Гарнитура шрифта: Arial
Размер шрифта: 14px
Начертание: Regular
Метод сглаживания: Нет
Цвет: #505150
Расположите ещё одну направляющую на расстоянии 160рх
Шаг 22. Напишите другой заголовок и текст к нему, используя те же самые параметры, которые мы использовали в предыдущем шаге.
Напечатайте кавычку, используя следующие параметры шрифта:
Гарнитура шрифта: Arial
Размер шрифта: 200px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: #505150
Уменьшите прозрачность слоя до 50%
Напишите слова мудрых или своё высказывание, используя следующие настройки:
Гарнитура шрифта: Arial
Размер шрифта: 14px
Начертание: Курсив
Метод сглаживания: Плавное
Цвет: #81aa48
Шаг 23. Создадим вертикальную полосу-разделитель: создайте две вертикальных линии друг рядом с другом, и закрасьте их следующими цветами: #ffffff - #b3b3b3.
Следите за расположением и организацией слоёв. Вот как это выглядит у меня.
Шаг 24. Напишите еще одно название так же как и слева (например я написал “Our Team”).
Используя Инструмент Прямоугольник (U) создайте прямоугольник 90х90px, и заполняют его любым цветом. Назовите этот слой “photo1_holder”. Это будет рамка для фотографии участника команды. Примените Стиль слоя>Обводка. Используйте следующие настройки стиля.
Поместите фотографию участника и назовите слой «photo1». Удостоверьтесь, что слой “photo1" находиться выше слоя “photo1_holder”. Щелчок правой клавишей на слое “photo1" - Создать обтравочную маску. Вы должны что-то подобное!
Шаг 25. Напишите текст об участнике, используя следующие параметры:
Гарнитура шрифта: Arial
Размер шрифта: 14px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: #7ba344
Мы создадим иконку социальной группы самостоятельно! давайте начнем, напишем символ “t” со следующими параметрами шрифта:
Гарнитура шрифта: Pico-черный
Размер шрифта: 30px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: #2fcfff
Примените Стиль слоя>Обводка
Напечатайте "in":
Гарнитура шрифта: Myriad Pro
Размер шрифта: 30px
Начертание: Жирный
Метод сглаживания: Плавное
Цвет: #0081ac
Напечатайте “f”:
Гарнитура шрифта: Klavika
Размер шрифта: 30px
Начертание: Жирный
Метод сглаживания: Плавное
Цвет: #395796
Шаг 26. Создайте копию фотографии участника. Выберите слой с фотографией. Слой>Новый Корректирующий Слой>Черно-белый.
Удостоверьтесь, чтобы стояла метка “Использовать Предыдущий Слой для создания обтравочной маски".
Напечатайте такой же текст, (иконка социальной группы), используя те же самые параметры для текста, но изменив цвет: #505150.
Таким образом, фото и текст будут выглядеть чёрно-белым! Сделайте ещё две копии чёрно-белого изображения и серого текста, разместите их так же, как показано ниже:
Как только Вы закончите с выравниванием, сделайте четыре отдельных группы, содержащих фото участника и текстовые слои нашей иконки социальной группы,
распределите их следующим образом.
Вот что вышло у меня!
Шаг 27. Прежде, чем мы приступим к работе с областью основного контента, мы установим ещё несколько границ. Создадим ещё пару горизонтальных направляющих. Смотрите на изображение.
Сделайте выделение размером 940х70px, произведите его выравнивание, как показано ниже.
Залейте выделение любым цветом и примените Стиль слоя>Наложение градиента, параметры наложения градиента представлены ниже.
Создайте прямоугольник размером 70х45px. Расположите его и примените Стиль слоя так, как показано на изображении. Назовите этот слой “tw_bg”
Скройте слой “tw_bg”, чтобы он не мешал Вам работать. Создайте ещё один прямоугольник 10х43px. Далее пройдите Редактирование>Трансформирование>Наклон. Выставьте следующие параметры:
X: 40px
Y: 1253px
V:-39
Назовите этот слой "effect" и сделайте слой “tw_bg” видимым.
Скопируйте стиль слоя "tw_bg" и примените его к слою "effect"
Напишите “t” со следующими параметрами шрифта:
Гарнитура шрифта: Pico-Black
Размер шрифта: 35px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: не будет иметь значения, мы собираемся применять Стиль слоя>Наложение градиента
Параметры наложение градиента
Шаг 28. Повторите шаг 20, чтобы создать разделитель или скопируйте его. Поместите его как показано ниже:
Мы должны сделать так, чтобы наш прямоугольник был неправильной формы. Чтобы сделать это, выбираем слой “tw_bg” и добавляем маску. Выделите ту часть прямоугольника которую нужно удалить, выберите цвет переднего плана черному (#000000),
нажмите Shift+Backspace, чтобы заполнить выделение.
Шаг 29. Напишите какой-нибудь текст, который является поясняющим с этими параметрами шрифта:
Гарнитура шрифта: Arial
Размер шрифта: 15px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: #222222
Чтобы текст располагался ровно по отношению к слою с зелённым фоном, нажмите Выравнивание центров по вертикали
Шаг 30. Повторите шаг 27, чтобы создать что-то подобное тому, что изображено ниже. Также создайте прямоугольник, заполните его цветом #334814 и уменьшите прозрачность слоя до 40 %.
К прямоугольнику побольше примените Стиль слоя с нижеприведёнными параметрами:
Теперь заполните наклонённый прямоугольник более темным цветом: #2a6788.
Напишите “t”:
Гарнитура шрифта: Pico-Black
Размер шрифта: 35px
Начертание: Regular
Метод сглаживания: Плавное
Цвет: #2fcfff
Примените Стиль слоя>Обводка:
Следите за группировкой слоёв для комфортной работы с ними.
Сделайте копию слоя прямоугольника с буквой "t" и измените цвет перекрытия градиентом на #0080ab, а вот этим цветом #00526d залейте наклонённый прямоугольник.
Напишите слово "in" с этими параметрами:
Гарнитура шрифта: Myriad Pro
Размер шрифта: 35px
Начертание: Жирный
Метод сглаживания: Плавное
Цвет: белый (#ffffff)
Создайте третью копию слоя прямоугольника, измените Наложение градиента (для большого прямоугольника): #395796, и #263e6f для наклонённого.
Напишите “f” с таким параметрами шрифта:
Гарнитура шрифта: Klavika
Размер шрифта: 35px
Начертание: Жирный
Метод сглаживания: Плавное
Цвет: белый (#ffffff)
Сделаем последнюю копию. Цвет для градиента большого прямоугольника #e8e8e8, для наклонённого: #cdcdcd.
Напишите слову "fr" с этими параметрами:
Гарнитура шрифта: Frutiger Black
Размер шрифта: 35px
Начертание: Жирный
Метод сглаживания: Плавное
Цвет: f: #0079d2 - r: #ff3093
Поместите каждое из изображений в отдельную группу. Выделите все группы с этими слоями и нажмите Распределение левых краёв (см. ниже)
Шаг 32. Создайте выделение размером 1020х460px и заполните его любым цветом (пока).
Примените к этому слою Стиль слоя>Наложение градиента, используя следующие настройки:
У вас должно получиться что-то похожее на это:
С помощью Инструмента Область (горизонтальная строка) создайте выделение высотой в 1рх и залейте его белым цветом (#ffffff).
Шаг 33. Создайте две направляющих, как на изображении ниже:
Напишите заголовок с этими параметрами шрифта:
Гарнитура шрифта: Rockwell
Размер шрифта: 30px
Начертание: Regular
Метод сглаживания: Чёткое
Цвет: #7ea547
Напишите подзаголовок с этими параметрами шрифта:
Гарнитура шрифта: Arial
Размер шрифта: 15px
Начертание: Regular
Метод сглаживания: Нет
Цвет: #d3d3d3
Используя Инструмент Линия
Тэги: разное
Постоянная ссылка
Стильная пагинация
2013-12-08 01:37:22 (читать в оригинале)Вот выставляю пагинацию , красивая стильная,кому надо берем.
1.Скачиваем архив ,распаковываем и заливаем картинку в папку images вашего шаблона.
2.Открываем файл variables.ini и заменяем содержимое раздела[navigation] на этот код:
[navigation]3.В стили добавляем :
prevlink = " <a id="prev" href='%link%'>%page%</a> "
nextlink = " <a id="next" href='%link%'>%page%</a> "
current_page = " <b>%page%</b> "
link_page = " <a href='%link%'>%page%</a> "
dots = " <span>...</span> "
/**********************pagination******************************/4.В файле pages.tpl заменить код на этот:
#pagination{margin-bottom:-50px;font-size:13px;font-weight:bold;line-height:37px;}
#pagination a,#pagination b{margin-right:2px;width:37px;height:37px;text-align:center;display:inline-block;}
#pagination a{background:url(../images/bg-pagination.png) 0 0 no-repeat;}
#pagination a:hover{color:#fff;background:url(../images/bg-pagination.png) 0 -37px no-repeat;}
#pagination b{color:#fff;background:url(../images/bg-pagination.png) 0 -74px no-repeat;}
#pagination span{margin-right:2px;}
#pagination #next{background:url(../images/bg-pagination.png) 0 -111px no-repeat;}
#pagination #next:hover{background:url(../images/bg-pagination.png) 0 -148px no-repeat;}
#pagination #prev{background:url(../images/bg-pagination.png) 0 -185px no-repeat;}
#pagination #prev:hover{background:url(../images/bg-pagination.png) 0 -222px no-repeat;}
<div id="pagination">вот и все
[prev-link] [/prev-link]{pages}[next-link] [/next-link]
</div>
+27 |
41 |
biletiks |
|
|
|
|
|
|
|
|
|
|
|
|
-5 |
36 |
Счастливые мамашки |
-9 |
2 |
gvud |
-16 |
13 |
mydorian |
|
|
|
|
|
|
Загрузка...
взяты из открытых общедоступных источников и являются собственностью их авторов.