-2

私が作成しているこのテンプレートのさまざまな領域をいじくり回そうとして、ここ数日、ここで多くの質問をしてきました。後で作成するいくつかのページに簡単にアクセスしてすべてのコンテンツを変更できるように、機能するものを作成したかっただけです(これにより、見た目が非常に良くなり、すべての機能が機能するようになります)。

しかし、私は問題に遭遇しました。私たちはコンテンツ管理システムとして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>

通常のHTMLページのタグとほぼ同じように、phpタグを使用してJavaScriptコードをページに組み込むように指示するページを見ました。

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

モジュールと呼ばれるものを使用して、.jsファイルをページに呼び出すという昔ながらの方法を試しました。

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

おもしろい事実、みんな:Drupalはばかげています。それらのどれもうまくいきませんでした、そして私がグーグルフーで見つけるすべてのものはそれらの3つの選択肢のいくつかのバリエーションです。Drupalの特定のマスターはいますか?あなたが私がこの問題を解決するのを手伝ってくれるなら、私は祖母の有名なチョコレートチップクッキーのバッチを焼いてあなたに出荷することを私自身の人生で誓います。

気がおかしくなりそうだ。インターンシップをしてくれた人に感動を与えるために、CSSとJavaScriptを追加したいだけです:/

4

1 に答える 1

1

まず、drupalを使用している理由について説明し始めます。その後、あなたはあなたの質問をします。そして、drupalについて文句を言います。質問をするためのヒントを読んでください!drupalのどのバージョンを使用しているかを提供する必要があります。または、どのようにしてモジュールを構築しましたか。または質問に関連する詳細。

Drupalの方法は、cssと出力をオーバーライドしないことです。Drupalを使用するように依頼され、実際には使用されていないことがわかった場合、クライアントはどう思いますか?人々がdrupalを使用する理由があり、安定性、信頼性、スケーラビリティなどがあります。

ページタイプのノードを作成し、そこにコンテンツを追加する必要があります。次に、sites / all / themes / your-theme-name / template.phpにある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!
}

他のいくつかのポイント。

  • JavaScriptに.txt拡張子が付いているのはなぜですか?
  • また、どのテーマを使用していますか?Zenテーマの使用をお勧めします。
  • その道には何か変なことがあると思います。PathToJavaScriptFile/の下にファイルがあるのはなぜですか。通常、jsファイルはsites / all / themes/yourthemenameのthemeフォルダーにあります
  • あなたが投稿した例は非常に曖昧ですが、php内にjavascriptが含まれている例はまったく間違っています。

編集:管理者またはページの残りの部分にアクセスできないことを考慮してください。ノードを作成し、フルHTMLをフォーマットフィルターとして設定できるかどうかを確認してください。次に、scriptタグを使用してそこからJavascriptを追加できます。

于 2012-05-11T19:02:58.517 に答える