так значит осталось поставить условие для пунктов первого уровня не выводить <a href=""></a>
Многоуровневое меню без разделов
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 15:24:41
Как я писал в соседней ветке 2х уровневое меню делается просто.
например шаблон компонента меню "system.PublicMenu/primary"
Код
<%@ Reference VirtualPath="~/bitrix/components/bitrix/system.PublicMenu/component.ascx" %>
<%@ Control Language="C#" ClassName="template" Inherits="Bitrix.Main.Components.SystemPublicMenuTemplate" %>
<%@ Import Namespace="Bitrix" %>
<script runat="server">
public void RenderMenuItem(BXPublicMenuItem item, int depth, bool last, HtmlTextWriter writer)
{
bool hasChildren = item.Children != null && item.Children.Count != 0;
if (depth == 0)
writer.AddAttribute(HtmlTextWriterAttribute.Class, item.IsSelected ? "root-item-selected" : "root-item");
else if (item.IsAccessible)
{
string cssClass = (item.IsSelected ? "item-selected" : "") + (last ? " item-last" : "");
cssClass = cssClass.Trim();
if (cssClass != "")
writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClass.ToString());
}
writer.RenderBeginTag(HtmlTextWriterTag.Li);
{
if (depth == 0)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "root-separator");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
writer.RenderEndTag();
}
if (depth == 0)
writer.AddAttribute(HtmlTextWriterAttribute.Class, item.IsSelected ? "root-item-selected" : "root-item");
else if (hasChildren)
writer.AddAttribute(HtmlTextWriterAttribute.Class, "parent");
else if (!item.IsAccessible)
writer.AddAttribute(HtmlTextWriterAttribute.Class, "denied");
if (!item.IsAccessible)
writer.AddAttribute(HtmlTextWriterAttribute.Title, "Доступ запрещен");
writer.AddAttribute(HtmlTextWriterAttribute.Href, (hasChildren || item.IsAccessible) ? item.Href : "");
writer.RenderBeginTag(HtmlTextWriterTag.A);
writer.WriteEncodedText(item.Title);
writer.RenderEndTag();
if (hasChildren)
{
writer.RenderBeginTag(HtmlTextWriterTag.Ul);
for (int i = 0; i < item.Children.Count; i++)
RenderMenuItem(item.Children[i], depth + 1, i == item.Children.Count - 1, writer);
writer.RenderEndTag();
}
}
writer.RenderEndTag();
}
public override string Title
{
get
{
return "Главное меню портала";
}
}
</script>
<%
if (Component.Menu == null || Component.Menu.Count == 0)
return;
%>
<ul id="horizontal-multilevel-menu">
<li class="left-margin"> </li>
<%
for (int i = 0; i < Component.Menu.Count; i++)
RenderMenuItem(Component.Menu[i], 0, i == Component.Menu.Count - 1, CurrentWriter);
%>
</ul>
<div class="menu-clear-left"></div>
[ Закрыто] Тестовая тема
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 15:22:44
странно...
интересно какая длинна кода вызывает ошибку...
обновил 1С-битрикс (ядро и форум), посмотрим будет ли сейчас ошибка...
[ Закрыто] Тестовая тема
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 15:13:55
Не знаю что это было, но вроде бы прорвало и вы прекрасно пишете.
Интересно много ли таких же несчастных хотели задать вопрос и так и не задали его у нас на форуме.
В сейчас приведу пример одного шаблона меню, который реализует 2 уровневую схему. 3 и более могут строиться по аналогии.
[ Закрыто] Тестовая тема
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 15:09:27
Ничего в настройках для модуля форума или для конкретного форума не нашёл из такого...
Возможно битриксовый форум глюканул из-за какого-нибудь спец-символа, который вы вставляли в сообщение?
Эксперимент выше показал, что сообщение из 3 букв прекрасно проходит...
[ Закрыто] Тестовая тема
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 15:08:00
нет
[ Закрыто] Тестовая тема
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 14:57:37
Вы уж простите мне мою маленькую волность...
У супер-админа свои маленькие преимущества )))
Корпоративные облака
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 12:38:01
Может быть тогда проще предлагать партнёрскую/реферальную систему бизнес-центрам?
за привлечение клиента они будут получать процент
+ в принципе они могут начать продавать услуги продажи и настройки толстых/тонких клиентов. Но боюсь, они будут не готовы к этому.
И вот теперь мы наконец подходим к очень важному моменту, который ни я, ни Жорж почему-то не озвучили до сих пор:
"А где во всём этом процессе ваше место?"
Корпоративные облака
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 11:56:54
Цитата
Эдуард пишет:
интересно а возможно сделать чтобы тарифицировались как телефонные разговоры, сколько используешь столько и платишь?
Вряд ли.
Пока возможно только повремёнка.
Всё-таки вы покупаете лицензиии у вендора под весь этот цирк.
даже Office365 продаётся по времени.
"по факту" пока применяется только к "железу", т.е. когда мы продаём процессорное время или оперативную память, например...
Т.е. может и можно будет, но надо будет с каждым вендором обсуждать механизм и настраивать запуск и погашение виртуальных машин, чтобы не было однвоерменно работающих "лишних" софтин.
Корпоративные облака
Администратор
Cообщений: 267Баллов: 2Регистрация: 12.01.2011
18.09.2012 10:13:34
Коллеги, рассчёт выше верен лишь отчасти.
Дело в том, что в случае предоставления рабочего места по облачной схеме (назовём её условно так) вы всё равно должны иметь "тонкий" (в некоторых случаях и "толстый") клиент.
Т.е. на железку вы всё равно разоритесь.
А вот на ПО сэкономите, это факт.
И вот тут уже начинается магия.
Стоимость 1 лицензии Windows составляет порядка 5К
ещё 900р - winrar
office - порядка 3000р
В принципе, выходит, что стоимость 1 рабочего места в плане софта для "офиса" составит от 8000р.
Теперь подумаем насколько этого хватит.
Опыт показывает, что софт меняют даже реже, чем железо. Иногда windows XP в организациях работает до 5-7 лет (из более чем 10 лет присутствия на рынке).
Допустим, вы более прокачанная компания и чаще меняете софт, т.е. ваши расходы 8К на 4 года => 2К в год => чуть меньше 200р/месяц
+железо
При этом железо вам понадобится как в офисе, так и дома (раз вы хотите использовать эту схему для удалённой работы)
А теперь посмотрим на расходы провайдера.
Это инфраструктура (массив серверов, а вовсе не проводов до рабочих мест)
+ лицензия на софт по виртуализации (тот же System Center, например)
+ лицензии на клиентский софт (ДА-ДА! винду, офис и винрар всё равно придётся покупать! Причём с запасом! чтобы лицензий было больше, чем клиентов!)
Чувствуете к чему я клоню?
Примерно в от к этому -
P.S. а как быть с рабочими местами, где нужен специфический софт? 1С? Autocad? PhotoShop? KitchenDraw?
P.P.S. это я про пользовательский антвирус ещё забыл, который тоже стоит денег...