G

Gordankem

+3
Репутация
0
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 30 сентября 2019 в 12:17


удалиться и ID измениться

Gordankem
Здравствуйте. А Вы не допускайте этого, id на пункт в принципе другое можно указать не затрагивая имеющиеся.
И скиньте где берете меню лучше, посомтрю что там есть.
Ну и самое простое, когда выведите меню, установите такие кнопки — Кнопка 1 И все, никакой айди не нужен. Меню конечно интересное, но как на мобилке себя вести будет?

Заралик

Это не подходит, так как у основного сайта свой шаблон и он главный, а это отдельный раздел со своим шаблоном, и если просто давать ссылку на статью, то она отображается с основным шаблоном. Поэтому и приходится выделять отдельный класс, и для него писать стили с координатами.
Для мобильной версии тоже можно сделать пропорциональное уменьшение через медиазапросы, в зависимости от ширины экрана, а потом может другое меню или исчезновение, потому как это уже будет не так важно.
#2 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 30 сентября 2019 в 11:25


а почему просто не использовать id пункта меню?

class="krug_menu{$item.id}"

Нил™

Пока продумывал как реализовать стили, подсказали ещё одну помеху в будущем. ID меню идёт по порядку и назначены как-то, а если какой-то элемент удалиться и ID измениться? Тогда и стили класса CSS придётся менять, они же будут привязанны к номеру.
#3 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 30 сентября 2019 в 05:58


а почему просто не использовать id пункта меню?

class="krug_menu{$item.id}"

Нил™

Спасибо за подсказку. Вроде что-то получилось. Сейчас буду CSS стилями расположение выстраивать.
#4 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 30 сентября 2019 в 05:51
Насчёт расположения и разметки я на HTML и CSS сделал, только не через список
<ul>
<li></li>
<li></li>
</ul>
А через блоки <div></div>
Но это на макете, на самом сайте нужно делать через список. А для этого нужно в шаблоне mod_menu.tpl выделить класс для этого.
Мой код круглого меню на макете HTML

<div class="krug_gr">
<a class="logo" href="#"><img src="logo_montaj.jpg" alt="Центр Лого" title="Главная"/></a>
<a class="krug_menu1" href="#"><img src="montaj_otoplenie_doma.png" alt="Отопление" title="Отопление" /><span class="podpisRazd">Отопление</span></a>
<a class="krug_menu2" href="#"><img src="montaj_tepliy_pol.png" alt="Тёплый пол" title="Тёплый пол"/><span class="podpisRazd">Тёплый пол</span></a>
<a class="krug_menu3" href="#"><img src="montaj_vodosnabjen.png" alt="Водоснабжение" title="Водоснабжение"/><span class="podpisRazd">Водоснабжение</span></a>
<a class="krug_menu4" href="#"><img src="montaj_kanalizacia.png" alt="Канализация" title="Канализация" /><span class="podpisRazd">Канализация</span></a>
<a class="krug_menu5" href="#"><img src="montaj_santexn.png" alt="Сантехника" title="Сантехника" /><span class="podpisRazd">Сантехника</span></a>
</div>
----CSS----
.krug_gr {
position: relative;
width: 24em;
height: 24em;
padding: 0.8em;
border-radius: 50%;
margin: 39px 0 0 65%;
z-index: 2;
}
.krug_gr a {
display: block;
position: absolute;
top: 50%;
left: 50%;
width: 3em;
height: 3em;
margin: -2em;
}
.krug_gr a .podpisRazd {
color: #fff;
position: absolute;
background: #0094fe;
padding:2px;
top: -46px;
left: -50px;
}
.podpisRazd:hover {
-webkit-transform: scale(1.2, 1.2);
-ms-transform: scale(1.2, 1.2);
transform: scale(1.2, 1.2);
}
.krug_gr img {
width: 8em;
height: 8em;
top: -50%;
left: -50%;
position: relative;
border-radius: 50%;
}
.logo_montaj{
position:absolute;
top:50%;
left:50%;
width:200px;
height:200px;
margin: -100px 0 0 -100px;
background: url(logo.jpg)no-repeat;
}
.logo_montaj img {
width: 120px;
height: 120px;
top: -105%;
left: -105%;
position: relative;
border-radius: 50%;
}
.krug_menu1 {
transform: rotate(230deg) translate(10em) rotate(-230deg);
}
.krug_menu1 img a:hover{
border-color: transparent;
}
.krug_menu1 img {
width: 80px;
height: 80px;
border-radius:50%;
position:relative;
border: 4px solid #f6e121;

}
.krug_menu1 img:hover {
-webkit-transform: scale(1.2, 1.2);
-ms-transform: scale(1.2, 1.2);
transform: scale(1.2, 1.2);
border-color: transparent;
}
.krug_menu2{
transform: translate(-10em);
}
.krug_menu2 img {
border: 4px solid #f6e121;
border-radius: 50%;
width: 80px;
height: 80px;
}
.krug_menu2 img:hover {
-webkit-transform: scale(1.2, 1.2);
-ms-transform: scale(1.2, 1.2);
transform: scale(1.2, 1.2);
border-color: transparent;
}
.krug_menu3{
transform: rotate(125deg) translate(10em) rotate(-125deg);
}
.krug_menu3 img {
width: 80px;
height: 80px;
background: #846040 no-repeat;
border: 4px solid #f6e121;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
-khtml-border-radius: 50%;
}
.krug_menu3 img:hover {
-webkit-transform: scale(1.2, 1.2);
-ms-transform: scale(1.2, 1.2);
transform: scale(1.2, 1.2);
border-color: transparent;
}
.krug_menu4{
transform: rotate(75deg) translate(10em) rotate(-75deg);
}
.krug_menu4 img {
border: 4px solid #f6e121;
width: 80px;
height: 80px;
background: #886010 no-repeat;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
-khtml-border-radius: 50%;
}
.krug_menu4 img:hover {
-webkit-transform: scale(1.2, 1.2);
-ms-transform: scale(1.2, 1.2);
transform: scale(1.2, 1.2);
border-color: transparent;
}
.krug_menu5 {
transform: rotate(384deg) translate(10em) rotate(-384deg);
}
.krug_menu5 img {
border: 4px solid #f6e121;
width: 80px;
height: 80px;
background: #0f036d no-repeat;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
-khtml-border-radius: 50%;
}
.krug_menu5 img:hover {
-webkit-transform: scale(1.2, 1.2);
-ms-transform: scale(1.2, 1.2);
transform: scale(1.2, 1.2);
border-color: transparent;
}
[/quote]
#5 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 27 сентября 2019 в 14:22


Не помню как в InstantCMS1.9, но в последних версиях первой ветки для каждого пункта меню можно задать класс в настройках пункта меню.
Если этого нет в InstantCMS1.9 можно отталкиваться от общего класса меню и использовать nth-child htmlbook.ru/css/nth-child

Если пункты меню не собираетесь часто переключать через админку, можно просто собрать html код меню и вставить в mod_menu1.tpl заменив всё содержимое

Нил™
Я с это начинал, с чистого HTML. Но вот дело в том, что при переходе по пункту меню ещё шаблон завязан, и происходит переключение на базовый шаблон, а мне это не нужно совсем.
Придумал так сделать.
{section name=mnt_zn start=0 loop=$item.NSLevel step=1}
<li {if ($menuid==$item.id || ($currentmenu.NSLeft> $item.NSLeft && $currentmenu.NSRight < $item.NSRight)) && $item.NSLevel<=1}class="selected"{/if} class="krug_menu{$smarty.section.mnt_zn.index}">
{/section}
{/if}
Код неправильный, но идея такая, чтобы установить класс, и повысить для класса номер, и для каждого номера потом написать стиль с координатами.
Пока вот не получается, не могу никак сделать увеличение номера класса в зависимости от количества пунктов меню, начиная с нуля.
#6 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 27 сентября 2019 в 12:24
Ошибку я понял. Всё дело было в том, что файл mod_menu1.tpl был создан не в том шаблоне. Его нужно создавать в основном шаблоне, в папке template/_default_
Решаю дальше задачу, меню я вывел, сейчас нужно создать в меню списка <ul><li> класс, для каждого пункта свой.
Для этого нужно чтобы циклом насчиталось 5 значений и получить
<li class="test1">
<li class="test2">
<li class="test3">
Это делать нужно в файле шаблона mod_menu1.tpl, скорее всего через цикл for и через создание переменной. С этим пока проблема.
#1 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 27 сентября 2019 в 06:36
Всем привет.
Помогите сделать меню в виде круглишков. Само меню должно выводиться в позиции, позицию я уже прописал. Никак не могу понять как вывести меню. Решил его разместить в Дополнительном меню 5. До этого получилось использовать Дополнительное меню 4.
Прописал в шаблоне позицию где будет выводиться меню. Использую движок InstantCMS1.9

Вот на картинке как должно выглядеть и где находиться меню.
Сейчас выводится ошибка Warning: Smarty error: unable to read resource: "mod_menu1.tpl" in Z:\home\trmka.local\www\includes\smarty\libs\Smarty.class.php on line 1092
Я скопировал и переименовал фаил mod_menu1.tpl для меню этот шаблон я прописал, но почему-то ошибка, и в чём дело я не знаю.
#7 [ЕСТЬ РЕШЕНИЕ] Как прописать атрибут rel="canonical" 27 сентября 2019 в 06:11
В общем я как бы решил задачу, как прописать атрибут rel="canonical"
Хотелось бы увидеть ещё ответы тех у кого в яндексе отмечает каноническая страница.
#8 [ЕСТЬ РЕШЕНИЕ] Как прописать атрибут rel="canonical" 27 сентября 2019 в 06:07


Gordankem, возможно так, но вставив вторую часть не в template.php, а в свой темплейт нужной страницы

abasia

Привет. Да с этим я кажется разобрался, атрибут rel="canonical" сейчас выводится. Я вставил <link rel="canonical" href="<?php echo $canonical; ?>"/> в ту часть шаблона tamplate.php где прописывается заголовок между <head></head> и сейчас выводится так же в заголовке. Странно то, что яндекс всё также пишет (не указан каноческий адрес) вот в этом и загвоздка.
Может конечно должно время пройти, пока робот яндекса переиндексацию сделает. Если кто знает как ещё можно сделать так чтобы атрибут rel="canonical" заработал и для страниц в поиске яндекса начало прописываться каночический адрес указан.
Если у кого это уже работает, разместите скриншот в ответе, хочется убедиться, что это вообще реально, а то я уже сомневаюсь в том, что это вообще возможно.
#1 [ЕСТЬ РЕШЕНИЕ] Как прописать атрибут rel="canonical" 26 сентября 2019 в 06:06
Народ всем привет.
Подскажите как прописать атрибут rel="canonical" для отдельной страницы сайта на движке InstanCMS1.9?
#9 Форма с СМС оповещением на сотовый с сайта 17 сентября 2019 в 08:55


Может какой-то компонет есть

Gordankem
/blogs/bez-nazvanija/komponent-sms-sobshenija-beta.html в PS есть выше.

@noname

Понял спасибо за помощь буду дальше продолжать. Саму форму я почти доделал. Дальше уже скрипт на PHP, который будет данные из полей формы в сервис отправлять, или на почту. Пока не знаю. Как сделаю сам размещу свой пример кода.
#10 Форма с СМС оповещением на сотовый с сайта 17 сентября 2019 в 05:38


Возможно готовый пример обработчика есть в библиотеке смс сервиса, если нет, или он не подходит, придется искать помощи на форуме или исполнителя за $, я просто расписал как это может быть устроено в принципе

Нил™

Понятно, а где библиотеку cms найти? Может какой-то компонет есть, и его может чуть переделать можно.
#11 Форма с СМС оповещением на сотовый с сайта 16 сентября 2019 в 12:39


Версия системы для решения этой задачи большой роли не играет.
1. Выбрать смс сервис, зарегистрироваться, купить пакет, посмотреть их тех документацию для отправки смс со своего скрипта
2. Потом уже под их требования написать скрипт обработчик формы, который принимает параметры из формы и передаёт данные в смс сервис для отправки смс
3. На сайте создаёте страницу с формой, в actions формы указываете адрес вашего обработчика, п.2

Я делал себе такое, но верно говорят можно и на емэйл и в смартфоне включить уведомления о новых письмах.
Смс сервис я перестал использовать, когда там опять ужесточили требования и стал нужен договор с Юр лицом. Борьба со спамом типа, как всегда, не там, где нужно естссно.

Нил™

Это мне подходит. А в коде можно это посмотреть как будет. Я не мастер по программированию, сейчас как раз делаю всплывающее окно с именем и номером сотового для заполнения.
#12 Форма с СМС оповещением на сотовый с сайта 16 сентября 2019 в 11:34


Можно вторую ветку на поддомен поставить

@noname

Это не вариант. Всё должно быть на одном домене, это нужно ещё и для SEO.
#13 Форма с СМС оповещением на сотовый с сайта 16 сентября 2019 в 10:56


Это я перепутал, извините ))

но компонент выше это для 2 версии инстанта

Evanescence
Gordankem поддержка 1 ветки прекращена.

@noname

Да я знаю, что прекращена. Должно же быть что-то. Наверняка кто-то пользовался или сам задумывался над отправкой СМС из формы. Первой версией пользовались то достаточно долго, может и сейчас многие пользуются.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.