Модератор форума: Yuri_G |
Сообщество uCoz » Мастерская uCoz » Дизайн: управление шаблонами » Повтор кода одной строкой |
Повтор кода одной строкой |
Простите, не знаю как сформулировать вопрос, ибо в терминологии путаюсь. Попытаюсь своими словами.
делаю на нескольких страницах код со случайным показом картинок из каталога. Всё работает. Код <!-- <Случайная картинка из каталога> --> <div align="center"> <table border="1"> <tr> <td> <Script Language="JavaScript"> var imagesarr = new Array( "http://st-78.ru/ForSite/RndIMG/1.jpg", "http://st-78.ru/ForSite/RndIMG/2.jpg", "http://st-78.ru/ForSite/RndIMG/3.jpg", "http://st-78.ru/ForSite/RndIMG/4.jpg", "http://st-78.ru/ForSite/RndIMG/5.jpg"); </Script> </head> <Body> <Script Language="JavaScript"> var los = Math.floor(Math.random() * imagesarr.length) document.write ("<Img Src='"+imagesarr[los]+"'>"); </Script> </td></tr></table></div> <!-- </Случайная картинка из каталога> --> Но этот код надо разместить в нескольких шаблонах. Поэтому редактировать его надо так же по всем шаблонам. А нельзя ли сделать так, что этот код в одном месте, а в нужных местах только ссылка на него или оператор какой-то? Не знаю как обозвать. Но что бы редактировать его один раз, а он автоматом раскинулся куда надо? Да еще, в коде можно отключить таблицу и прикрутить к картинке Border=1? |
Alex_Spacon, если я Вас правильно понял, то код в разных шаблонах будет идентичным. В таком случае можно создать глобальный блок: Панель управления -> Управление дизайном -> Глобальные блоки (справа сверху) -> Добавит блок. Задаёте ему название, после чего вставляете в него нужный код. А во всех шаблонах, где нужен этот код, вставляете код глобального блока: $GLOBAL_Ваше_название$.
|
Всё получилось! Большое человеческое спасибо. Оказывается всё так просто!
Только один маленький гадский червячок точит. Почему-то на всех страницах всё отображается, а если этот же блок ставлю на главную, ТИШИНА! Млжет в настройках где-то? |
Alex_Spacon, как именно вставляете? В каком месте?
И ссылку на сайт, пожалуйста. Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Глобальный блок $GLOBAL_RNDIMAGE$
Код <!-- <Случайная картинка из каталога> --> <hr> <div align="center"> <table border="1"> <tr> <td> <Script Language="JavaScript"> var imagesarr = new Array( "http://st-78.ru/ForSite/RndIMG/1.jpg", "http://st-78.ru/ForSite/RndIMG/2.jpg", "http://st-78.ru/ForSite/RndIMG/3.jpg", "http://st-78.ru/ForSite/RndIMG/4.jpg", "http://st-78.ru/ForSite/RndIMG/5.jpg", "http://st-78.ru/ForSite/RndIMG/6.jpg", "http://st-78.ru/ForSite/RndIMG/7.jpg", "http://st-78.ru/ForSite/RndIMG/8.jpg"); </Script> </head> <Body> <Script Language="JavaScript"> var los = Math.floor(Math.random() * imagesarr.length) document.write ("<Img Src='"+imagesarr[los]+"'>"); </Script> </td> </tr> </table> </div> <!-- </Случайная картинка из каталога> --> Потом просто в нужное место вставляю $GLOBAL_RNDIMAGE$ Сайт http://st-78.ru/ |
Во-первых уберите из кода
Код </head> <Body> и </div>, который в конце Вы заходите в управление шаблоном "Страницы сайта" и в шаблоне вставляете глобальный блок? Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
</head> и <Body> убрал, </div> который в конце надо тогда убирать с открытым Дивом в начале, иначе разваливается страница. Убрал.
Глобальный блок в читальном зале да, так вставляю, через управление шаблонами, а первая страница редактируется прямо с сайта, не через шаблоны. Получил: Код <!-- <Случайная картинка из каталога> --> <hr> <table border="1"> <tr> <td> <Script Language="JavaScript"> var imagesarr = new Array( "http://st-78.ru/ForSite/RndIMG/1.jpg", "http://st-78.ru/ForSite/RndIMG/2.jpg", "http://st-78.ru/ForSite/RndIMG/3.jpg", "http://st-78.ru/ForSite/RndIMG/4.jpg", "http://st-78.ru/ForSite/RndIMG/5.jpg", "http://st-78.ru/ForSite/RndIMG/6.jpg", "http://st-78.ru/ForSite/RndIMG/7.jpg", "http://st-78.ru/ForSite/RndIMG/8.jpg"); </Script> <Script Language="JavaScript"> var los = Math.floor(Math.random() * imagesarr.length) document.write ("<Img Src='"+imagesarr[los]+"'>"); </Script> </td> </tr> </table> <!-- </Случайная картинка из каталога> --> Сообщение отредактировал Alex_Spacon - Пятница, 20 Мар 2015, 11:39:43
|
</div> который в конце надо тогда убирать с открытым Дивом в начале, иначе разваливается страница. Убрал. Я что-то пропустил что там есть открывающий, если этот центрирующий див вам нужен, то верните конечно. Т.е. вы вставляете глобальный блок в содержимое страницы? Он так работать не будет. Его нужно ставить именно в шаблон. Если у вашей главной страницы индивидуальный шаблон, то код надо вставить и туда тоже. Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Всё, с этим разобрался!!! Значит глобальный блок надо было запихивать в Управление дизайном » Редактирование шаблонов и там в Страницы сайта.
Тогда на всех страницах появится этот блок с картинками. Ага. Но не на библиотеке и прочих. а на страницах... Я говорю, что терминологию путаю. Ну как собака — понимаю, а сказать не могу ;-) А теперь и на прайсе http://st-78.ru/index/0-2 картинки появились. Надо что-то под главную страничку персональное создать? Ну что бы на главной было, а на других нет... |
Виталий98, ОНО САМОЕ ТО!!! С вашим вариантом только на первой страничке и появилось. А если развернуть тему? Дальше если что еще раз условие втюхать в этом же шаблоне, только PAGE смотреть по ссылке или как? Например для этой - http://st-78.ru/index/0-2
|
Alex_Spacon, смотрим значение в панели администратора на сайте: Констркутор -> Список переменных страницы. В данном случае я использовал системный код $URI_ID$ (первая строчка). Если нужно этот блок для двух страниц одного модуля ставить, можно отредактировать условие:
<?if($URI_ID$='page1' or $URI_ID$='page2')?>$GLOBAL_RNDIMAGE$ <?endif?> Добавлено (20 Мар 2015, 12:21:13) |
Alex_Spacon, в правах вашей группы должна стоять галочка "Редактировать дизайн сайта".
Авторизируйтесь как администратор, в админ-баре вверху будет кнопочка "Дизайн", далее - Переменные страницы. На каждой странице будут отображается свои переменные. Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Да, всё верно. Либо Конструктор - Список переменных страницы, либо Дизайн - Список переменных страницы. В зависимости от настроек. Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Вы правы, «Век живи - век учись!»
А почему код в таком виде не стал работать?Код<?if($URI_ID$='page1')?>$GLOBAL_RNDIMAGE$ <?endif?> <?if($URI_ID$='page2')?>$GLOBAL_RNDIMAGE$ <?endif?> Это разве не аналог: Код<?if($URI_ID$='page1' or $URI_ID$='page2')?>$GLOBAL_RNDIMAGE$ <?endif?> Эдак работает! СПАСИБЫ всем оптом и в розницу!!! И... Вы обратили внимание, что я загнал картинку в рамку из таблицы. А как к этому участку кода: Кодdocument.write ("<Img Src='"+imagesarr[los]+"'>"); Прикрутить рамку типа border="1" |
| |||