Deutschland United States United Kingdom
ContentLion - Open Source CMS

Skin? Umsetzung von Aufwendigen Skins?

Skin? Umsetzung von Aufwendigen Skins?

Hallo,
wie kann ich so ein Webdesign:http://www.alenan.com/beta/redesign/2369…gbhfdhfs435643/
in CL umsetzen? :D



MFG
Maxi

Kurz gesagt: Derzeit gar nicht.

Allerdings könntest du das über einen neuen Seitentyp machen, dass man zwei-Spaltig arbeitet.

Ich hatte eig. überlegt, ein Plugin "SkinInstaller" zu bauen, damit Skins auch eine activate.php & Co. haben können.
Außerdem wollte ich, das man die Slider & Co. über den Admin-Bereich ändern kann... (Plugin)

Funktioniert z.T. nur nicht, da beim wechseln des Skins kein Event geworfen wird und man das extra installieren extra machen müsste... :(
Aber selbst da habe ich schon eine Idee! :D

Derzeit bin ich an der Realisierung. :D

Damit das Skin das SkinInstaller-Plugin überhaupt nutzen kann, muss ganz oben in der Datei folgender PHP-Code geschrieben werden:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
<?php

if(file_exists(dirname(__FILE__) . "/skininstaller_framework.php")) {
  require(dirname(__FILE__) . "/skininstaller_framework.php");
  checkSkinIsInstalled(">>Dein Skin-Path / Name z.B.: testskin<<");
} else {
  echo "<b style="color:red">WANUNG!: Bitte installieren Sie das SkinInstaller-Plugin, damit dieser Skin richtig installiert werden kann.</b>";
}

?>


Zusätzlich müsstet ihr die "skininstaller_framework.php" dort einsetzen, welche ihr noch von mir bekommt.
Dann liese sich schon mal folgendes umsetzen:
Slider, Boxen-Model. (Kein 2 Seiten-Layout!)

Habe jetzt die ganze (90%) Slider-Geschichte umgesetzt. ;)
Man kann jetzt im Admin-Bereich die Slider bearbeiten, wenn der Skin das SkinInstaller-Framework nutzt.

Wie das geht, zeige ich demnächst. ;)
Hier mal ein Screenshot:

UPDATE:
Um die Slider-Funktionalität im Skin zu nutzen, muss lediglich folgender 3 Zeiler eingefügt werden:

PHP-Quelltext

1
2
3
4
5
6
7
<?php

      foreach (getSlider() as $slider) {
          echo '<img src="' $slider['src'] . '" alt="' $slider['alt'] . '" />';
      }

      ?>


(Die erste Zeile (von oben) muss natürlich bleiben. ;) )

Beispiel für einen Skin:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php if(file_exists(dirname(__FILE__) . "/skininstaller_framework.php")) { require(dirname(__FILE__) . "/skininstaller_framework.php"); checkSkinIsInstalled("testskin"); } else { echo "<b style="color:red">WANUNG!: Bitte installieren Sie das SkinInstaller-Plugin, damit dieser Skin richtig installiert werden kann.</b>"; } ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
  <link rel="stylesheet" type="text/css" href="<?PHP echo sys::getFullSkinPath(); ?>css/style.css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    <script type="text/javascript" src="<?PHP echo sys::getFullSkinPath(); ?>fancybox/jquery-1.4.3.min.js"></script>
    <script type="text/javascript" src="<?PHP echo sys::getFullSkinPath(); ?>fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
    <script type="text/javascript" src="<?PHP echo sys::getFullSkinPath(); ?>fancybox/jquery.fancybox-1.3.4.pack.js"></script>
    <link rel="stylesheet" type="text/css" href="<?PHP echo sys::getFullSkinPath(); ?>fancybox/jquery.fancybox-1.3.4.css" media="screen" />
    <script type="text/javascript">
        $(document).ready(function() {
            /*
            *   Examples - images
            */

            $("a#example1").fancybox();

            $("a#example2").fancybox({
                'overlayShow'    : false,
                'transitionIn'    : 'elastic',
                'transitionOut'    : 'elastic'
            });

            $("a#example3").fancybox({
                'transitionIn'    : 'none',
                'transitionOut'    : 'none'
            });

            $("a#example4").fancybox({
                'opacity'        : true,
                'overlayShow'    : false,
                'transitionIn'    : 'elastic',
                'transitionOut'    : 'none'
            });

            $("a#example5").fancybox();

            $("a#example6").fancybox({
                'titlePosition'        : 'outside',
                'overlayColor'        : '#000',
                'overlayOpacity'    : 0.9
            });

            $("a#example7").fancybox({
                'titlePosition'    : 'inside'
            });

            $("a#example8").fancybox({
                'titlePosition'    : 'over'
            });

            /*
            *   Examples - various
            */

            $("#various1").fancybox({
                'titlePosition'        : 'inside',
                'transitionIn'        : 'none',
                'transitionOut'        : 'none'
            });

            $("#various2").fancybox();

            $("#various3").fancybox({
                'width'                : '75%',
                'height'            : '75%',
                'autoScale'            : false,
                'transitionIn'        : 'none',
                'transitionOut'        : 'none',
                'type'                : 'iframe'
            });

            $("#various4").fancybox({
                'padding'            : 0,
                'autoScale'            : false,
                'transitionIn'        : 'none',
                'transitionOut'        : 'none'
            });
        });
    </script>
  <?PHP
    sys::includeHeader();
  ?>
</head>

<body>
  <div id="main">
    <div id="header">
      <div id="banner">
        <a href="#"><?PHP echo htmlentities(sys::getTitle()); ?></a>
      </div>
      <div id="menubar">
        <?PHP
            sys::displayGlobalMenu("<ul id="menu">","</ul>","<li>"," </li>","");
        ?>
      </div>
    </div>
    <div id="site_content">
      <div id="content">
      <?php

      /*foreach (getSlider() as $slider) {
          echo '<img src="' . $slider['src'] . '" alt="' . $slider['alt'] . '" />';
      }*/

      ?>
        <div class="content_item">
            <?PHP
                if(isset($_POST['content']) && $_POST['content']){
                    echo $_POST['content'];
                }
                else{
                    sys::includeContent();
                }
            ?>
        </div>
      </div>
      <div class="sidebar_container">
        <div class="sidebar">
          <div class="sidebar_top"></div>
          <div class="sidebar_item">
            <?PHP
                sys::displayLocalMenu("<ul>","</ul>","<li>","</li>","localmenuentry");
            ?>
          </div>
          <div class="sidebar_base"></div>
        </div>
      </div>
    </div>
    <div id="footer">
      <a href="http://www.araynordesign.co.uk">ARaynorDesign</a><br />
        <?PHP if(Page::Current()->alias == "home"){ ?> <br />
            <?PHP if(strtolower(Settings::getValue("language")) == "de"){ ?>
               powered by <a href="http://www.contentlion.de">ContentLion CMS</a>
            <?PHP } else { ?>
               powered by <a href="http://www.contentlion.org">ContentLion CMS</a>
            <?PHP ?>
        <?PHP ?>
    </div>
  </div>
  <p style="float: left;padding: 0;">&nbsp;</p>
</body>
</html>

Hab ich doch! ;)
Das Framework ist lediglich eine Erleichterung für die Skin-Ersteller, die Funktion getSlider() ist eig. nur eine Weiterleitung zu Plugin_SkinInstaller_Slider::getSlider().^^

z.Z. bin ich allerdings soweit, dass die skininstaller_framework.php eig. gar nicht mehr nötig ist. :D

Ähnliche Themen