?

Log in

Вопрос про редактируемый sidebar | Question about edited sidebar, - S2 Layers [entries|archive|friends|userinfo]
S2 Layers

[ website | advanced customization ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| how to post tags page ]
[affiliated communities| fblayers ]

Вопрос про редактируемый sidebar | Question about edited sidebar, [Oct. 25th, 2007|04:10 pm]
S2 Layers

s2layers

[drhobbot]
S2 платный - Родительский слой - собственный на основе Style Contest/Cleanstyle Black and White
Не уверен, что мне тут помогут, но....
Ситуация следующая: Style Contest мною был выбран в следствии долгих экспериментов, по причине того, что это единственный родительский слой, в котором прописаны полностью адреса к css файлам оформлений. И единственный слой, в котором внесение мной незначительных изменений изменений дало именно тот результат, который я хотел. В ситуации с Expressive, например, даже внесение своего css файла в custome css давала результат в виде отображение жж вообще без дизайна или с дизайном по умолчению взятом из weblog.css

Так вот:
Есть S2 родительский слой названный мною LiderBlog на основе, как я уже говорил Style Contest
То, чего в нем не реализовано - это внесение изменений в sidebar. Зато это очень красиво реализовано в Digital Multiplex (OSWD).

Внимание вопрос: Какие части кода нужно перенести из Digital Multiplex (OSWD) в мой LiderBlog, что бы эти функции там заработали?
Сразу скажу, что тупой перенос группы
propgroup sidebar
результата не дают. В настройках стиля эта фишка появляется, но вносимые изменения в силу не вступают. Тоже самое относится и к "Entry footer HTML"

Еще один ворос:
Как в принципе работает "Entry footer HTML"? То есть, что дает внесение в это окошко html кода и где он в итоге отображается.


S2 Paid - the Parental layer - own on a basis Style Contest/Cleanstyle Black and White
It is not confident, that to me here will help, but....
Situation following: Style Contest me has been chosen in consequence(investigation) of long experiments for the reason that it is a unique parental layer in which addresses to css to files of registrations are registered completely. And a unique layer in which entering of minor alterations of changes by me has given(allowed) that result which I wanted. In a situation with Expressive, for example, even entering of the css a file in custome css gave result as display жж in general without design or with design by default taken of weblog.css

And so:
Is S2 a parental layer named me LiderBlog on a basis how I already spoke Style Contest
What in it(him) it is not realized is a modification in sidebar. But it is very beautifully realized in Digital Multiplex (OSWD) .

Attention a question: What parts of a code need to be transferred from Digital Multiplex (OSWD) to mine LiderBlog, what these functions there would earn?
At once I shall tell, that stupid(blunt) carry of group
  propgroup   sidebar  
result do not give. In adjustments(options) of style this chesspiece appears, but brought changes valid do not enter. Too most concerns and to " Entry footer HTML "

One more question:
How basically works " Entry footer HTML "? That is, that entering into it окошко html gives a code and where it(he) in a result is displayed.


Beforehand I apologize, that I use the electronic translator - English I do not own :(
linkReply

Comments:
[User Picture]From: camomiletea
2007-10-25 06:28 pm (UTC)
Дело в том, что сами по себе свойства (properties) ничего не делают. Эти свойства употребляются далее в коде Digital Multiplex. Например, sidebar_width (из подгруппы sidebar) употребляется в функциях function sidebar_html_width и print_stylesheet(). Это значит, что копировать надо умно и знать где и что надо изменить в Style Contest, чтобы достичь желаемого результата.

Я не поняла откуда взялось "Entry footer HTML" и поэтому не могу подсказать, как это работает. Могу только сказать, что как и все остальные свойства, оно используется где-то далее в коде.
(Reply) (Thread)
[User Picture]From: drhobbot
2007-10-25 06:33 pm (UTC)
Ну да. Я тоже это понял. Но дело в том, что я html и css начал осваивать неделю томк назад :) А php (как я понял, язык на котором пишутся основные стили это php) я вообще представляю себе очень смутно. Вы не могли бы мне помочь более конкретно?
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-25 06:43 pm (UTC)
Изменить порядок можно сразу в самом родительском слое - это будет легче чем пытаться переделать код... Сейчас такой порядок:

set sidebar_primary = [

                    [ "userprofile", "", "0", "1" ],
                    [ "viewlinks", "" ],
                    [ "calendar" ],
                    [ "links", "Links" ],
                    [ "syndicate", "Syndicate" ],
                    [ "poweredby" ],

                ];

set sidebar_secondary = [

                [ "tags", "Tags" ],
                [ "pagesummary", "Page Summary" ],

            ];


Линии, начинающиеся с [, можно менять местами. Вставлять всё это надо вместо вот этих двух линий:

set sidebar_primary = []; # Set in prop_init()
set sidebar_secondary = []; # Set in prop_init()
(Reply) (Thread)
[User Picture]From: drhobbot
2007-10-25 06:59 pm (UTC)
То есть... Еще раз... я тупой.

Значит, по любому, мне нужно вставить в код родительского слоя propgroup sidebar из, например, того же Digital Multiplex (OSWD), потом в группе sidebar_primary измениить порядок?

Хммм, а как получится, что я смогу добавлять свои элементы в sidebar? Ведь этим кодом, я так понимаю, просто изиенится простой порядок блоков в сайдбаре! А мне нужно функцию возможности вставления собственного html кода в сайдбар из Digital Multiplex (OSWD) перенести в мой стиль основанный на Style Contest в котором этой функции нет.

Если просто перетащить кусок кода propgroup sidebar то в настройках стиля появится "настраиваемый" пункт sidebar, но изменения туда вносимые не будут иметь силу. То есть не будут отражаться в журнале.

То же самое с окошком Entry footer HTML. В стиле Expressive есть такое окно в настройках выбраного стиля (как и настраиваемый sidebar) кусок кода добавляющий это меню в Style Contest я нашел. Но после добавления этого куска кода меню в настройках появляется, а вносимые изменения в этом разделе в журнале не действуют. Ну и еще мне в принципе не понятно как вообще должно действовать эта функция в реализации.
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-25 07:06 pm (UTC)
Нет, если нужно просто изменить порядок, то ничего кроме указанного мной кода копировать не надо ни из какого Digital Multiplex. Просто удалить две линии из Style Contest, вместо них вставить двенадцать и поменять их порядок :)

Но это не даст возможности вставить свои элементы. Первый вопрос: какие именно элементы Вы хотите?
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 07:15 pm (UTC)
Всегда разные :)

Дело в том, что в стилях Expressive и Digital Multiplex (OSWD) в настройках уже выбраного тобой стиля оформления есть такой пункт меню "sidebar" и добавляет его propgroup sidebar

Вот так оно выглядит

propgroup sidebar {
property string sidebar_width {
des = "Sidebar width specification";
values = "155px|Skinny|185px|Default|215px|Wide";
}
set sidebar_width = "185px";
property string sidebar_profile_text {
des = "Text to be added to the 'Profile' sidebar, underneath the name and user picture icon";
}
property string sidebar_blurb {
des = "Free text to be added to the sidebar";
note = "Appears in the sidebar 'Blurb'";
cols = 30;
rows = 10;
string_mode = "html";
}
property bool sidebar_disable_recent_summary {
des = "Disable 'Page Summary' on Recent Entries and Friends view";
note = "This is only a temporary measure, available until we find a way to enforce a specific sidebar width.";
}
set sidebar_disable_recent_summary = false;
property string sidebar_position_one {
note = "Set to 'Nothing' to hide box";
des = "First Sidebar Box";
values = "nothing|Nothing|summary|Page Summary|navigation|Navigation|links|Link List|blurb|Blurb|calendar|Calendar";
}
set sidebar_position_one = "summary";
property string sidebar_position_two {
note = "Set to 'Nothing' to hide box";
des = "Second Sidebar Box";
values = "nothing|Nothing|summary|Page Summary|navigation|Navigation|links|Link List|blurb|Blurb|calendar|Calendar";
}
set sidebar_position_two = "navigation";
property string sidebar_position_three {
note = "Set to 'Nothing' to hide box";
des = "Third Sidebar Box";
values = "nothing|Nothing|summary|Page Summary|navigation|Navigation|links|Link List|blurb|Blurb|calendar|Calendar";
}
set sidebar_position_three = "links";
property string sidebar_position_four {
note = "Set to 'Nothing' to hide box";
des = "Fourth Sidebar Box";
values = "nothing|Nothing|summary|Page Summary|navigation|Navigation|links|Link List|blurb|Blurb|calendar|Calendar";
}
set sidebar_position_four = "blurb";
property string sidebar_position_five {
note = "Set to 'Nothing' to hide box";
des = "Fifth Sidebar Box";
values = "nothing|Nothing|summary|Page Summary|navigation|Navigation|links|Link List|blurb|Blurb|calendar|Calendar";
}
set sidebar_position_five = "calendar";
}
propgroup customcss {
property use include_default_stylesheet;
property use linked_stylesheet;
property use custom_css;
}

Но! Простое добавление этого кода в свой слой дает только появление этого меню в настройках. То есть меню есть, все нужные настройки в этом меню есть, а вводимые туда параметры никак не отображаются. Хотя должны.
И я хочу что бы у меня это было. ))
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-25 07:26 pm (UTC)
Но! Простое добавление этого кода в свой слой дает только появление этого меню в настройках. То есть меню есть, все нужные настройки в этом меню есть, а вводимые туда параметры никак не отображаются. Хотя должны.

Я уже объяснила, почему это не работает.

Всегда разные :)

Так не пойдёт. Чтобы были "всегда разные", их все надо сначала ввести в код. Написать код, отвечающий за их создание. Если не знаете, чего хотите, написать код невозможно. Определитесь.
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 07:29 pm (UTC)
Так я понял "почему" - меня интересует "как"

Так в настройках выбранного стиля, если есть меню sidebar и можно добавлять почти все что угодно. Любой текст, кнопочки, счетчики и так далее. То есть вставляешь в окошко html код или просто текст и радуешься жизни. А в моем стиле этого нет :(
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-25 08:34 pm (UTC)
Вопрос понятен! :) Похоже это недочёт стиля, потому что необходимый код существует - а вот свойств нет... Я скопировала кусок кода из Expressive (propgroup sidebar & function prop_init()), потому что они похожи (а Digital Multiplex совершенно другой). Вот результат:

http://www.livejournal.com/customize/advanced/layersource.bml?id=9374361




(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 08:41 pm (UTC)
Заработало! Только провсячилось основное меню :(
Friends, Profile (ye оно не совсем пропало... но...) и так далее.
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-25 09:10 pm (UTC)
Ок, вроде исправила... http://www.livejournal.com/customize/advanced/layersource.bml?id=9374361

Я подумаю над остальными вопросами, но пока мне пора в университет. :)
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 09:15 pm (UTC)
Вы золото )))
У меня лучший друг по прозвищу Ромашка di_camomil, его девушка - camomile_child и теперь вот вы. Везет ведь ))))

Огроменное вам спасибо. Жаль в жж вы пишете по английский и живем мы в разных часовых поясах )) вам пора в универ, а мне давно пора спать. Вот только допишу эссе по психологии...

Буду ждать от вас дальнейших технических решений ))))
Еще раз. Вы меня невероятно выручили, а тоя уже мозг сломал. Одно дело это на скорую руку разобраться в принципах css и что то там поменять. Другое дело язык програмирования. Это для моей дизайнерской головы уже слишком )))
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 08:42 pm (UTC)
А можно еще попросить (поклянчить) )))

А можно сделать так, что бы было несколько кастом текстов?
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-26 04:24 am (UTC)
Всего будет пять: http://www.livejournal.com/customize/advanced/layersource.bml?id=9374361

Ориентацию с профилем тоже поправила.
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 08:44 pm (UTC)
Да и ориентация в блоке профайлс возникшем вместо основного меню съехала влево )))))

Но все равно, вы золото!!!! Мне почему то везет на людей с ником Ромашка ))))
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 08:45 pm (UTC)
Хотя знаете, не надоосновного меню )))) Я его в кастом links организую, так будет лучше. И красивее и в тему.
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 08:57 pm (UTC)
Да, и еще....
Вы извините, что я вас тираню в этом плане, на самом то деле Ваша помощь неоценима. Вы мне действительно очень помогли, так что, если понадобится моя помощь как дизайнера, идеолога, всегда к вашим услугам - аська в юзеринфо.

Хотел еще сказать что несколько кастом текстов в сайдбаре хочется что бы добавить себя и вас копирайты отдельно и вставить несколько разных по смыслу блоков.

Вообще, ведь наверняка есть возможность сделать так, что бы можно было добавлять нужное количество блоков "кастом текст"?

И еще, два более тонких вопросов... Можно ли средством s2 заменить стандартный favicon.ico своим и не могли бы вы мне помочь и в этом? И почему периодически прикопленная css определяющая стиль журнала отцепляется?

Еще раз неограниченно вам благодарен. На основе этого измененного стиля можно будет построить оформление сразу нескольким моим сетевым проектам!
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-26 03:14 am (UTC)
Заменить favicon сравнительно легко:

function Page::print_custom_head(){
"""
<link rel="shortcut icon" href="http://www.example.com/favicon.ico">
""";
}

Добавить несколько кастом текстом сложнее, но можно.

Почему CSS теряется - не знаю. Обычно когда у меня такое случается, жму Refresh и стиль возвращается.
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 04:38 pm (UTC)
Огроменнейшее спасибо!!! Я Вас люблю преобожаю! Вы невероятно просто супер супер мне помогли!!!!!!!!! Вечная вам моя благодарность.

Если хотите, у меня тут есть масса идей по жж и вообще по интернету.
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 05:22 pm (UTC)
Блин... а информация добавляемая в кастом текст отображается только в виде текста, а не в виде html :(
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 05:57 pm (UTC)
Вот интересно... в блоке popgroup в описании блока кастом текста

property string customtext_body {
des = "Body of custom sidebar module";
cols = 40;
rows = 10;
string_mode = "html";

последняя сторока, как я понял, как раз и говорит о том, что вводимый текст может быть html кодом....

elseif ($module == "customtext"
or $module == "customtext2"
or $module == "customtext3"
or $module == "customtext4"
or $module == "customtext5") {
var string text = $item[2];
var string titlelink_url = $item[3];
print_module_customtext($module,$title, $text, $titlelink_url);

тут последняя строка отвечает за как раз выводимый результат....
print_module_customtext($module,$title, $text, $titlelink_url, $html)
Изменит ситуацию? или я брежу?
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 06:33 pm (UTC)

property string text_sidebar_blurb {
des = "Title of the blurb sidebar box";
noui = 1;

property string sidebar_blurb {
des = "Free text to be added to the sidebar";
note = "Appears in the sidebar 'Blurb'";
cols = 30;
rows = 10;
string_mode = "html";


function print_sidebar_blurb () {
if ($*sidebar_blurb != "") {
print_sidebar_box("blurb",$*sidebar_blurb,$*text_sidebar_blurb);

Вот так это сделано в другом стиле.... функшин принт ссылается не на текст а на что то другое

(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 06:39 pm (UTC)
В общем я поправил ))))

elseif ($module == "customtext"
or $module == "customtext2"
or $module == "customtext3"
or $module == "customtext4"
or $module == "customtext5") {
var string text = $item[2];
var string titlelink_url = $item[3];
print_module_customtext($module,$title, $*customtext_body, $titlelink_url)

Вот так это должно выглядеть ))))))
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 07:05 pm (UTC)

Я вам еще не надоел? :)

В общем так. Поправить то я поправил, но обаружил такой еще глюк:

И так. У нас пять модулей custom text

В настройках, заполняем разным текстом или кодом все блоки. Но!

Отображаются как надо только заголовки! А содержание блока отображается только от первого. Под всеми заголовками :(

С этим тупой логикой я уже не справился :(((
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-26 09:14 pm (UTC)

Re: Я вам еще не надоел? :)

Это случилось, как раз из-за Вашей "поправки" (http://community.livejournal.com/s2layers/71697.html?thread=662033#t662033): $*customtext_body это свойств лишь первого блока. У остальных цифры в конце: $*customtext_body2, $8customtext_body2 и т. д.
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 09:18 pm (UTC)

Re: Я вам еще не надоел? :)

Nf/ Уже осознал. Но если оставить как есть, то есть $text то результат можно посмотреть в моем жж :( Никакого html - просто текст. :(
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-26 09:46 pm (UTC)

Re: Я вам еще не надоел? :)

Меня запутал код. Сейчас должно работать: http://www.livejournal.com/customize/advanced/layersource.bml?id=9374361
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-26 09:51 pm (UTC)

Re: Я вам еще не надоел? :)

Я вас обожаю ))

А в чем было дело?
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-26 10:02 pm (UTC)

Re: Я вам еще не надоел? :)

По-видимому, при использовании "var string ПЕРЕМЕННАЯ = $*customtext_body;" теряются настройки типа string_mode. Я переделала функцию print_module_customtext, чтобы избежать этого

Было что-то вроде

function print_module_customtext(string id, string title, string text, string titlelink_url) {
    var Page p = get_page();
    open_module($id, $title, $titlelink_url);
    print safe $text;
    close_module();
}


Стало

function print_module_customtext(string id, string title, string titlelink_url) {
    var Page p = get_page();
    open_module($id, $title, $titlelink_url);
    if ($id == "customtext") {
      print safe $*customtext_body;
    } elseif ($id == "customtext2") {
      print safe $*customtext2_body;
    } elseif ($id == "customtext3") {
      print safe $*customtext3_body;
    } elseif ($id == "customtext4") {
      print safe $*customtext4_body;
    } elseif ($id == "customtext5") {
      print safe $*customtext5_body;
    }
    close_module();
}
(Reply) (Parent) (Thread)
[User Picture]From: drhobbot
2007-10-25 09:16 pm (UTC)
Все равно добавил вас во френды. Ибо вы действительно друг )))
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-25 07:21 pm (UTC)
Про Entry footer HTML забыла...

Чтобы добавить такую возможность, надо:
1. вставить

    property string entry_footer {
        des = "Entry footer HTML";
        note = "If you'd like to have HTML display at the end of each entry, enter it here.  Examples: 
,
, , etc."; cols = 40; rows = 10; string_mode = "html"; }


2. Найти функцию, в которой создается и форматируется запись. Обычно такие функции называются print_entry. В данном случае "function Page::print_entry(Entry e)"

3. Решить, где в этой функции вставить свойство $*entry_footer и собственно добавить его. Например:

function Page::print_entry(Entry e) {
    "<div class='entry'" + ($e.dom_id ? " id='$e.dom_id'" : "") + ">\n";

      var bool showtime = $*opt_showtime;
      var bool showdate = not $*opt_datehead;
      var bool showposter = false;
      var bool showuserpic = $*opt_userpic_main;
      if ($.view == "friends") { $showtime = true; $showposter = true; $showuserpic = $*opt_userpic_friends; }
      if ($.view == "day") { $showdate = false; }
      if ($.view == "entry" or $.view == "reply") { $showdate = true; }
      if ($.view == "entry") { $showuserpic = $*opt_userpic_entrypage; }
      if (not $e.poster->equals($e.journal)) { $showposter = true; }

      if (($showuserpic and defined $e.userpic) or $showposter) {
          "<div class='entry-userpic'>";
          if ($showuserpic and defined $e.userpic) { "$e.userpic"; }
          if (($showuserpic and defined $e.userpic) and $showposter) { "<br />"; }
          if ($showposter) { print safe "<p class='poster'>"+lang_posted_by($e.poster, $e.journal, $this)+"</p>"; }
          "</div>";
      }

      "<h3 class='entry-header'>";
      if (defined $e.security_icon) {
          print "<span class='lj-entry-securityicon'>$e.security_icon</span> ";
      }
      "$e.subject</h3>\n";
      "<div class='entry-content'>\n";

         "<div class='entry-body'>\n";
         $e->print_metadata();
         $e->print_text();
         "</div>\n";

         var string sep = "<span class='separator'>|</span>";

         "<p class='entry-footer'>";
         if ($showdate or $showtime) {
             print lang_posted_date_and_time($e, $e.time, $showdate, $showtime)+" $sep ";
         }
         "<a class='permalink' href='$e.permalink_url'>$*text_permalink</a>";


         if ($e.comments.show_postlink) { " $sep "; $e.comments->print_postlink(); }
         if ($e.comments.show_readlink)   { " $sep "; $e.comments->print_readlink(); }

         $e->print_linkbar();
         "</p>";
"$*entry_footer";
"</div>\n"; "</div>\n"; }
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2007-10-25 06:57 pm (UTC)
Нашла наконец Entry footer в Expressive. Похоже код просто добавляется под каждой записью после всех ссылок (комментировать и пр.), что-то вроде разделителя между записями... В моём журнале между записями с правой стороны ссылка "back to top" ("вернуться к началу страницы") - это как вариант.
(Reply) (Thread)
[User Picture]From: drhobbot
2007-10-25 07:00 pm (UTC)
Хмммм. тоже полезно... То есть это типо подписи в каждой записи?
(Reply) (Parent) (Thread)
[User Picture]From: kunzite1
2010-03-13 03:56 am (UTC)
long time since i've been here, however, this entry looks cool. unfortunately, i can't read it. :(
(Reply) (Parent) (Thread)
[User Picture]From: camomiletea
2010-03-13 06:28 pm (UTC)
The main question in this entry was how to add some Custom Text sidebar boxes in Style Contest. The second question was -- What does "Entry footer HTML" do? Since the original poster was Russian, I thought I'd help. The modified layout including 5 Custom Text sidebar boxes is at: http://www.livejournal.com/customize/advanced/layersource.bml?id=9374361. I can't tell you what I modified anymore since it's been so long, but you can probably figure it out by running a diff tool or something.
(Reply) (Parent) (Thread)