Joomla 1.5 Создание отдельного шаблона для статей и автоматическое добавление видео

Тема в разделе "Структура данных сайта", создана пользователем Tom-tom, 05.02.2010.

  1. Offline

    Tom-tom Недавно здесь

    Регистрация:
    04.02.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Здраствуйте, для начала представлюсь, меня зовут Алексей, мне 20 лет, веб-разработкой увлекся давно, но на изучении базовых навыков, разметки Html все закончилось:( Теперь взялся серьезно, за последние 2 недели изучил(в достаточной мере) CSS и создал свой первый шаблон для Joomla 1.5, в PHP я полный 0, разобрался только как добавлять позиции модулей для сайта. Вобщем то все работает, где должно мигает, где нужно крутится, но осталась пара серьезных вопросов в которых самостоятельно разобраться не вижу возможности. Итак.
    Вопрос первый, на главной странице сайта у меня 3 колонки, тегами <div> задана только одна которая отвечает за вывод статей(в виде блога), все остальное это рамки, созданные в CSS и заданные в index.php с помощью тега <span>, они жестко привязаны к своим местам, таких рамок с правой стороны 7 штук. Каждая отвечает за позицию модуля. Вопрос заключается в том, как при выводе полного текста статьи, убрать эти рамки,а лучше убрать их со всех страниц кроме главной. Может быть подскажите простой способ решения этой задачи, я вижу решение только в создании дополнительных шаблонов для других страниц, но как эти шаблоны подключить :hz:
    Вопрос второй, на главной странице я хочу транслировать видеоролики с сайта youtube.com подскажите как сделать что-бы ролики менялись автоматически при каждом обновлении страницы.

    Спасибо за ответы, извините за ошибки
     
  2.  
  3. Offline

    botanist Активист => Cпециалист <=

    Регистрация:
    15.02.2009
    Сообщения:
    461
    Симпатии:
    49
    Пол:
    Мужской
    2. Опубликовать модули только на главной. В настройках модуля такая опция есть.
    1. Скрыть блок модулей можно конструкцией
    Код (PHP):
    1. <?php if($this->countModules('left')) : ?>
    2. <div id="leftcolumn">  
    3. <jdoc:include type="modules" name="left" style="rounded" />
    4. </div><?php endif; ?>

    Если в позиции left нет опубликованных модулей div отображаться не будет.
     
  4. Offline

    Tom-tom Недавно здесь

    Регистрация:
    04.02.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    botanist, спасибо за ответ, правда про php конструкцию я так и не понял :[ в позиции left у меня находится только главное меню, его менять ни как не надо :) Вобщем воспользовался первым советом, просто поотключал модули на всех остальных страницах, но остался вопрос, как растянуть колонку со статьями, изначально ей задан отступ от правого края 52%, такой отступ нужен только на главной странице, на всех остальных нужно только 30%.
    И с вопросом по видео, может есть какой-то модуль(расширение, компонент) грубо говоря для рандомайзинга ссылок, т.е. что-бы при каждом обновлении страницы рандомно выбиралась новая ссылка на видео
     
  5. Offline

    Вячеслав Недавно здесь

    Регистрация:
    12.02.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Tom-tom а где первый и второй совет?
    botanist написал как сделать то что вам нужно а 1 и 2 это шаги ,какой смысл менять блоки на пустое место на странице.
    <?php if($this->countModules('left')) : ?>
    <?php endif; ?>
    это условие при котором если нет модулей в позиции left (вместо left может быть любая позиция) то и нет левой колонки и все что внутри не выводиться. Так же и ширину колонок можно задать. Если найдете способ обработки условий с подошью html и css обязательно напишите... :X

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

    Создайте несколько вариантов одного шаблона (можно просто размножить папку с шаблоном в templates и дать названия версиям , раздел новостей , раздел видео например. Не забудьте в templateDetails.xml подправить название ), а затем назначить пунктам меню отдельные шаблоны...
     
    Последнее редактирование: 12.02.2010
  6. Offline

    Tom-tom Недавно здесь

    Регистрация:
    04.02.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Вячеслав,Просто т.к. я решил что отключить публикацию модулей на других страницах сайта это один из вариантов решения проблемы, написал что воспользовался именно им, и в моем случае результат оказался удовлетворительным:)
    Просто блок, в котором находится позиция модуля, растягивается за счет контента, т.е. если контента не стало, блок исчезает, по крайней мере, для человеческого глаза, в общем, мне этого и надо было добиться. А по поводу оптимизации поподробней пожалуйста, деньги за домен и хостинг я уже выслал и сайт находится в сети, так что сейчас очень интересуюсь этой темой:)
    Кстати, есть еще одна проблема и не знаю как ее решить, т.к. шаблон верстал без применения таблиц, а тег <div> использовал только для шапки, колонки с основным контентом и футера, последний "бегает" за основной колонкой контента, полностью игнорируя другие блоки, как решить эту проблему я вообще не представляю, единственное только переделать шаблон на табличный вариант верстки, но так хотелось от него отказаться
     
  7. Offline

    Вячеслав Недавно здесь

    Регистрация:
    12.02.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Да ты волшебник (либо растягивается по разному понимаем, ты имеешь ввиду вертикальное растягивание, тогда причём тут left right ? можно долго годать, это как боевик пересказывать, напиши код ...)
    Ничего не понятно только три дива у тебя, ну пускай даже так, бравзер их выводит один за другим (если position не указан по умолчанию static),
    Так кто за кем бегает? и кто кого игнорирует? Основная колонка это как? всетаки в основной колонке ещё есть дивы так значит дивов не три? вставь код сюда или ссылку на страницу, для испытаний страницу сделаешь надеюсь отдельно от джумлы...
     
    Последнее редактирование: 25.02.2010
  8. Offline

    Tom-tom Недавно здесь

    Регистрация:
    04.02.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Вячеслав, огромное спасибо что пытаетесь решить мои проблемы, благодаря вашим постам начал разбираться в том что понаписал (ну многое просто скопировал :[), т.к. код вставки позиции был просто скопирован с одной из статей, естественно я даже не удосужился поинтересоваться как это работает, приношу извинения за то что напускал пыль, в коде действительно присутствует конструкция которую мне посоветовал botanist, вот код
    Код (PHP):
    1. <span class="ram_sprava">
    2. <?php if ($this->countModules('right')): ?>
    3. <div id="ja-col2">
    4. <jdoc:include type="modules" name="right" style="table" />
    5. </div>
    6. <?php endif; ?>
    7. </span>

    Так задается одна из позиций вывода динамичного контента, правая колонка в которой на главной странице выводятся рандомные новости, а на всех остальных страницах , рандомные новости из разных категорий + облако тегов, вот эту колонку как раз и игнорирует футер, он подкладывается под нее, если в колонке со статьями (в виде блога-категории) становится мало материала.
    CSS код этой колонки выглядит так
    Код (PHP):
    1. .ram_sprava {
    2. position:absolute;
    3. top:243px;
    4. left:75%;
    5. right:0px;
    6. background: #FFFFFF;
    7. }

    файлы style.css и index.php тоже приложил, надеюсь, что там найдется хоть проблеск правильного кода:[
    Еще раз спасибо Вячеслав за то что не проходите мимо проблемы новичка, мб когда нибудь я смогу научится создавать действительно качественные сайты :)
     

    Вложения:

    • html+css.zip
      Размер файла:
      2.1 КБ
      Просмотров:
      3
  9. Offline

    Вячеслав Недавно здесь

    Регистрация:
    12.02.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Tom-tom, Честно сказать, не знаю что и ответить, там и лукавый себе голову свернёт, чего там только не написано.
    Как вариант, если есть дизайнерский фаил пришли jpg или psd я те разметку набросаю. Так прошенаверно будет, потом сюда с пояснениями выложу.
    Потому что верстку страницы надо сначала человеческую сделать(в html можно если нет сервера локального на компе), дивы себя ведут по другому совсем, по сравнению с таблицами, по этому какркас сначала надо сделать потом уже пытаться под джумлу его оптимизировать.
    Попытался в твоем коде покапаться. Не зная основного дизайна, трудно сообразить чего и где предпологалось расположить.
    Так что давай по шагам вот есть дизайн такойто(картинка jpg, psd со слоями, принтскрин, чего хочешь можешь на почту mail@z17.ru):
    Сейчас он какойто такой у тебя? Почему и предлогаю оттолкнуться от дизайна (я имею ввиду картинку, карандашный вариант, чего где хочешь видеть) и по шагам все сделать, может ещё кому нить пригодиться
     
    Последнее редактирование: 02.03.2010
  10. Offline

    Tom-tom Недавно здесь

    Регистрация:
    04.02.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Вячеслав, Отправил скрин вам на почту, а такой пример пригодится уж точно :)
     
  11. Offline

    Kurt4i Недавно здесь

    Регистрация:
    16.05.2010
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    C модулями left,right и тд все понятно....ну а как с component?
    У меня на главной только mainmenu и фоновая картинка...а компонент с полупрозрачным видом! ширина стоит авто и минимальная(
    т.е. она все ровно видна на главной...
    может кто поможет?:)
     

Поделиться этой страницей

Загрузка...