2012-05-11 2 views
-2

В последние несколько дней я задавал много вопросов, пытаясь возиться с разными областями этого шаблона, который я создаю. Я просто хотел сделать что-то, что работает, поэтому было бы легко войти и изменить весь контент на несколько страниц, которые я буду создавать позже (это будет выглядеть намного лучше, это просто все функциональные возможности для работы).Как реализовать CSS + JavaScript-скрипты на определенных страницах нашего сайта Drupal?

У меня возникла проблема. Мы используем Drupal как нашу систему управления контентом (а не наше решение, мы получили ее от наших начальников). Основная проблема заключается в том, что, поскольку она была передана нескольким отделам, мы не контролируем ее. Люди, которые объединяют их, - это администраторы, мы просто «пользователи».

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Text/Photo Swap Test</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<script type="text/javascript"> 
function defaultText(){ 
    document.getElementById('textarea2').innerHTML = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi pulvinar lectus non lectus auctor egestas. Donec at nunc neque. Morbi ornare condimentum lobortis. Nam vehicula urna ac mauris pharetra rutrum. Duis et arcu eget sapien interdum porttitor ut et tortor. Maecenas ultricies dignissim pretium. Integer quis enim metus. Sed enim lacus, eleifend eu euismod volutpat, blandit eu sem. Vestibulum varius purus ut est accumsan pellentesque. Donec quis enim id lectus sollicitudin suscipit at volutpat augue. Curabitur et metus purus. Fusce luctus nunc vitae sapien pharetra id accumsan lectus malesuada.'; 
} 
    function dogText(){ 
    document.getElementById('textarea2').innerHTML = 'The domestic dog (Canis lupus familiaris), is a subspecies of the gray wolf (Canis lupus), a member of the Canidae family of the mammilian order Carnivora. The term domestic dog is generally used for both domesticated and feral varieties. The dog may have been the first animal to be domesticated, and has been the most widely kept working, hunting, and companion animal in human history. The word dog may also mean the male of a canine species, as opposed to the word bitch for the female of the species.'; 
}function catText(){ 
    document.getElementById('textarea2').innerHTML = 'The domestic cat (Felis catus or Felis silvestris catus) is a small, usually furry, domesticated, carnivorous mammal. It is often called the housecat when kept as an indoor pet, or simply the cat when there is no need to distinguish it from other felids and felines. Cats are valued by humans for companionship and ability to hunt vermin and household pests. They are primarily nocturnal.'; 
} 
function parrotText(){ 
    document.getElementById('textarea2').innerHTML = 'Parrots, also known as psittacines are birds of the roughly 372 species in 86 genera that make up the order Psittaciformes, found in most tropical and subtropical regions. The order is subdivided into three superfamilies: the Psittacoidea parrots), the Cacatuoidea (cockatoos) and the Strigopoidea (New Zealand parrots). Parrots have a generally pantropical distribution with several species inhabiting temperate regions in the Southern Hemisphere as well. The greatest diversity of parrots is found in South America and Australasia.'; 
} 
function lizardText(){ 
    document.getElementById('textarea2').innerHTML = 'Lizards are a widespread group of squamate reptiles, with more than 5600 species , ranging across all continents except Antarctica as well as most oceanic island chains. The group, traditionally recognized as the suborder Lacertilia, is defined as all extant members of the Lepidosauria (reptiles with overlapping scales), which are neither sphenodonts (i.e., tuatara) nor snakes ? they form an evolutionary grade. While the snakes are recognized as falling phylogenetically within the Toxicofera clade from which they evolved, the Sphenodonts are the sister group to the Squamates, the larger monophyletic group, which includes both the lizards and the snakes.'; 
} 
function horseText(){ 
    document.getElementById('textarea2').innerHTML = 'The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus, or the wild horse. It is an odd-toed ungulate mammal belonging to the taxonomic family Equidae. The horse has evolved over the past 45 to 55 million years from a small multi-toed creature into the large, single-toed animal of today. Humans began to domesticate horses around 4000 BC, and their domestication is believed to have been widespread by 3000 BC. Horses in the subspecies caballus are domesticated, although some domesticated populations live in the wild as feral horses. These feral populations are not true wild horses, as this term is used to describe horses that have never been domesticated, such as the endangered Przewalski Horse, a separate subspecies, and the only remaining true wild horse. There is an extensive, specialized vocabulary used to describe equine-related concepts, covering everything from anatomy to life stages, size, colors, markings, breeds, locomotion, and behavior.'; 
} 
function chickenText(){ 
    document.getElementById('textarea2').innerHTML = 'The chicken (Gallus gallus domesticus) is a domesticated fowl, a subspecies of the Red Junglefowl. As one of the most common and widespread domestic animals, and with a population of more than 24 billion in 2003, there are more chickens in the world than any other species of bird. Humans keep chickens primarily as a source of food, consuming both their meat and their eggs.'; 
} 


//The switchImg function is what swaps out the awesome.png picture when thumbnails are clicked. 
function switchImg(i){ 
document.images["awesome"].src = i; 
} 
</script> 
<style> 
<!--NEEDS TO BE FIXED--> 
<!--This uses the picture in the URL as a background image, needs to be fixed to stretch across whole page; use %'s.--> 
body {background: url('gradient.png');} 

<!--This is all gallery stuff. Makes it all a certain size, floats it to the left, pads the images, makes the images appear in a span while the mouse 
is hovering over it (might be taked out and replaced with JavaScript).--> 
#gallery {position: relative; } 
#gallery ul {list-style-type: none; 
    width: 300px; } 
#gallery li { display: inline; 
    float: left; 
    padding: 5px; } 
#gallery img {border-style: solid: 10px; border-color: #333; } 
#gallery a { text-decoration: none; 
      font-style: none; 
      color: #333; } 
#gallery span {display: none; } 
#gallery a:hover span {display: block;  
    position: absolute; 
    top: 10px; 
    left: 300px; 
    text-align: center; } 

<!--NEEDS TO BE FIXED--> 
<!--What does this do? Excellent question, my fine sir. This tries to float the image that changes on click to the right. --> 
#mainPicture { 
    float: right; 
     } 

<!-- <=popOut STUFF=> <=popOut STUFF=> <=popOut STUFF=> <=popOut STUFF=> <=popOut STUFF=> <=popOut STUFF=> <=popOut STUFF=>--> 
.popOut 
{ 
    cursor: default; 
    list-style: none; 
} 
.popOut a 
{ 
    cursor: default; 
} 
.popOut a .preview 
{ 
    display: none; 
} 
.popOut a:hover .preview 
{ 
    display: block; 
    position: absolute; 
    top: -33px; 
    left: -45px; 
    z-index: 1; 
} 
.popOut img 
{ 
    background: #ebf0f3; 
    border-color: #ebf0f3; 
    border-style: solid; 
    border-width: 1px; 
    color: inherit; 
    vertical-align: top; 
    width: 100px; 
    height: 75px; 
} 
.popOut li 
{ 
    background: #ebf0f3; 
    border-color: #CCCCCC; 
    border-style: solid; 
    border-width: 0px; 
    color: inherit; 
    display: inline; 
    float: left; 
    margin: 3px; 
    padding: 2px; 
    position: relative; 
} 
.popOut .preview 
{ 
    border-color: #000; 
    width: 200px; 
    height: 150px; 
} 
.popOut p 
{ 
    text-align: center; 
} 

#textarea 
{ 
    background-color: #ebf0f3; 
} 
</style> 
</head> 

<body> 
<!--NEEDS TO BE FIXED--> 
<!--Give the awesome picture a similar outline to the preview pictures.--> 
<!--This picture is the one that is going to change when pictures are clicked on.--> 
<div class="mainPicture"><img id="awesome" src="awesome.png" height="300" width="400" alt=""><!--style="position:relative; left:600px; top:326px;"--></div> 

<!--Alright, so this gallery is to hold all of the pictures. They're all set to be a certain size (100x75px) and expand to a larger size(400x300px). As it stands now, 
they're in an unordered list, and are set to change the awesome.png image whenever they are clicked.--> 
<td width="1000" rowspan="3"> 
<div id="gallery"> 
    <ul class="popOut"> 
     <li onclick="dogText()"> 
      <a href="#" onclick="switchImg('dog.jpg')"> 
       <img src="dog.jpg" width="100" height="75" alt="dog"><img src="dog.jpg" width="100" height="75" alt="dog" class="preview"> 
      </a> 
     </li> 
     <li onclick="catText()"> 
      <a href="#" onclick="switchImg('cat.jpg')"> 
       <img src="cat.jpg" width="100" height="75" alt="cat"><img src="cat.jpg" width="100" height="75" alt="cat" class="preview"> 
      </a> 
     </li> 
     <li onclick="parrotText()"> 
      <a href="#" onclick="switchImg('parrot.jpg')"> 
       <img src="parrot.jpg" width="100" height="75" alt="parrot"><img src="parrot.jpg" width="100" height="75" alt="parrot" class="preview"> 
      </a> 
     </li> 
     <li onclick="lizardText()"> 
      <a href="#" onclick="switchImg('lizard.jpg')"> 
       <img src="lizard.jpg" width="100" height="75" alt="lizard"><img src="lizard.jpg" width="100" height="75" alt="lizard" class="preview"> 
      </a> 
     </li> 
     <li onclick="horseText()"> 
      <a href="#" onclick="switchImg('horse.jpg')"> 
       <img src="horse.jpg" width="100" height="75" alt="horse"><img src="horse.jpg" width="100" height="75" alt="horse" class="preview"> 
      </a> 
     </li> 
     <li onclick="chickenText()"> 
      <a href="#" onclick="switchImg('chicken.jpg')"> 
       <img src="chicken.jpg" width="100" height="75" alt="chicken"><img src="chicken.jpg" width="100" height="75" alt="chicken" class="preview"> 
      </a> 
     </li> 
     <li onclick="defaultText()"> 
      <a href="#" onclick="switchImg('awesome.png')" class="textualLink"><p>Click for Default Image</p></a> 
     </li> 
    </ul> 

    <!--This textarea is the field where information about whatever is clicked will pop up, and hopefully stay there. By default, it should contain some sort of welcome message.--> 
    <div id="textarea" style="height:600px;width:320px;font:14px;font:14px/26px Arial, Helvetica, sans-serif;overflow:scroll; position:relative; 
    top:12px;"><p id="textarea2">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi pulvinar lectus non lectus auctor egestas. Donec at nunc neque. Morbi ornare condimentum lobortis. Nam vehicula urna ac mauris pharetra rutrum. Duis et arcu eget sapien interdum porttitor ut et tortor. Maecenas ultricies dignissim pretium. Integer quis enim metus. Sed enim lacus, eleifend eu euismod volutpat, blandit eu sem. Vestibulum varius purus ut est accumsan pellentesque. Donec quis enim id lectus sollicitudin suscipit at volutpat augue. Curabitur et metus purus. Fusce luctus nunc vitae sapien pharetra id accumsan lectus malesuada.</p></div> 
    </div> 
    </div> 
    </div> 
</td> 
</body> 
</html> 

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

Я видел страницы рассказывала мне просто поставить и тег в исходном коде для страницы/узла Я пытался построить:

<head> 
<script src="PathToJavaScriptFile.js.txt"> 
</script> 
</head> 

Я видел страницы рассказывал мне использовать PHP тег, чтобы включить JavaScript код в страницу, так же как это было бы в теге в обычной HTML странице:

<?php 
function switchImg(i){ 
document.images["awesome"].src = i; 
} 
?> 

Я даже пытался просто старый назвав .js файл на страницу, используя то, что я считаю, называется модулем :

<?php 
drupal_add_js('PathToJavaScriptFile.js.txt', 'external'); 
?> 

Веселый факт, ребята: Drupal немой. Ни один из тех, кто работал, и каждая вещь, которую я нахожу в своем Google-fu, - это несколько вариантов этих трех вариантов. Есть ли у вас какие-то особые мастера с Drupal? Если вы можете помочь мне решить эту проблему, я клянусь в своей жизни, что я испечу и отправлю вам партию знаменитых шоколадных печеньков моей бабушки.

Я схожу с ума. Я просто хочу добавить CSS и JavaScript, чтобы я мог произвести впечатление на парня, который дал мне стажировку:/

+2

Возможно, вы захотите узнать об этом по адресу http://drupal.stackexchange.com/. – thirtydot

+2

Перекрестная ссылка: http://drupal.stackexchange.com/questions/30895 @thirtydot - пожалуйста, просто отметьте молча, чтобы мы могли мигрировать, не предлагайте OP, они должны перекрестно отправлять – Kev

ответ

1

Сначала вы начинаете объяснять, почему вы используете drupal. Затем после этого вы задаете свой вопрос. А потом жалуются на drupal. Прочитайте советы по заданию вопросов! Вам необходимо указать, какую версию вы используете drupal. Или как вы создали свой модуль. Или детали, относящиеся к вопросу.

Путь drupal не переопределять css и выход. Что подумает ваш клиент, если он попросит вас использовать Drupal, и он узнает, что вы на самом деле его не использовали? Существует причина, по которой люди используют drupal и являются стабильностью, надежностью, масштабируемостью и т. Д.

Вам нужно создать узел типа страницы и добавить туда контент. Затем вы можете перейти в файл template.php на сайтах/all/themes/your-theme-name/template.php и использовать theme_preprocess_page(), чтобы добавить js.

Или вы можете сделать это в модуле. Например, вы не можете просто добавить код в модуль, в который они не входят (например, что я думаю, что вы сделали в вашем примере). Это модули, и они работают определенным образом.

В вашем модуле (или вашей теме) вы можете создать крючок.(не забудьте включить его на странице конфигурации администратора) Например

//code not tested 
function yourmodulename_preprocess_page(&$vars) 
{ 
drupal_add_js(drupal_get_path('theme', 'MYTHEME') .'/mytheme.js', 'file'); 
//read the functions documentation! 
} 

Несколько других точек.

  • Почему ваши javascripts имеют расширение .txt?
  • И какая тема вы используете? Я рекомендую вам использовать тему Zen.
  • Я думаю, что есть что-то странное с этим путем. Почему ваши файлы находятся в PathToJavaScriptFile /. Обычно файлы js входят в папку темы на сайтах/all/themes/yourthemename
  • примеры, которые вы опубликовали, очень расплывчаты, но один с javascript внутри php просто неверен.

EDIT: Учитывая, что у вас нет доступа к администратору или к остальной части страницы. Посмотрите, можете ли вы создать узел и установить Full HTML в качестве фильтра формата. Затем вы можете добавить свой Javascript туда с тегом скрипта.

+0

Я жалуюсь на Drupal, потому что он не " t соответствует нашим потребностям. Высшие взлеты думали, что это будет хорошая идея, и у нас нет возможности изменить ее. Кроме того, у нас практически нет административных прав. У нас прямо нет доступа к файлу template.php, что-либо имеющее отношение к темам, или к странице конфигурации администратора. Кроме того, это создается для нашего отдела. Нам просто вручили шаблон, который не оставил нам никаких инструментов, чтобы сделать это так, как мы хотим. Загрузитель изменил .js на .js.txt. У нас нет выбора темы. У нас нет доступа к папке тем. –

+0

Нет клиента, который не будет счастлив, так как мы стараемся лучше всего представлять наш отдел в создании этого сайта. У нас просто нет творческой лицензии, и мы хотели бы, чтобы наши выглядели лучше, чем другие отделы по всей стране. –

+1

Вы пытались добавить страницу типа узла и использовать полный формат ввода HTML? –

Смежные вопросы