Skip to content
Code-Schnipsel Gruppen Projekte
Commit 1e112fa8 erstellt von Michael's avatar Michael
Dateien durchsuchen

Merge branch 'dev' of https://dev.quiqqer.com/quiqqer/package-bricks into dev

Übergeordnete 76c3dda9 6488b212
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
werden angezeigt mit 132 Ergänzungen und 30 Löschungen
......@@ -96,6 +96,12 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [
self.show(event.target.get('data-no'));
};
desktopSlides.addEvent('click', function () {
alert(1);
});
var i, len, Dot;
for (i = 0, len = desktopSlides.length; i < len; i++) {
......@@ -118,7 +124,6 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [
);
}
for (i = 0, len = mobileSlides.length; i < len; i++) {
Dot = new Element('div', {
'class' : 'quiqqer-bricks-promoslider-dot',
......
......@@ -167,6 +167,11 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings', [
dataIndex: 'type',
dataType : 'string',
width : 200
}, {
header : QUILocale.get(lg, 'quiqqer.products.control.slidesettings.url'),
dataIndex: 'url',
dataType : 'string',
width : 300
}, {
dataIndex: 'image',
dataType : 'string',
......@@ -316,7 +321,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings', [
image: '',
title: '',
text : '',
type : ''
type : '',
url : ''
};
if ("image" in params) {
......@@ -335,6 +341,10 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings', [
entry.type = params.type;
}
if ("url" in params) {
entry.url = params.url;
}
this.$data.push(entry);
this.refresh();
this.update();
......@@ -355,7 +365,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings', [
image: '',
title: '',
text : '',
type : ''
type : '',
url : ''
};
if ("image" in params) {
......@@ -374,6 +385,10 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings', [
entry.type = params.type;
}
if ("url" in params) {
entry.url = params.url;
}
this.$data[index] = entry;
this.refresh();
......@@ -580,6 +595,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings', [
var Container = new Element('div', {
html : Mustache.render(templateEntry, {
fieldImage : QUILocale.get(lg, 'quiqqer.products.control.create.image'),
fieldUrl : QUILocale.get(lg, 'quiqqer.products.control.create.url'),
fieldTitle : QUILocale.get(lg, 'quiqqer.products.control.create.title'),
fieldDescription: QUILocale.get(lg, 'quiqqer.products.control.create.text'),
fieldType : QUILocale.get(lg, 'quiqqer.products.control.create.align')
......
......@@ -16,6 +16,15 @@
</span>
</label>
<label class="field-container">
<span class="field-container-item">
{{fieldUrl}}
</span>
<input name="url" class="field-container-field field-description"
data-qui="controls/projects/project/site/Input"
/>
</label>
<label class="field-container">
<span class="field-container-item">
{{fieldTitle}}
......
......@@ -168,6 +168,11 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
dataIndex: 'right',
dataType : 'code',
width : 300
}, {
header : QUILocale.get(lg, 'quiqqer.products.control.promoslider.url'),
dataIndex: 'url',
dataType : 'string',
width : 300
}, {
dataIndex: 'image',
dataType : 'string',
......@@ -265,6 +270,10 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
insert.right = entry.right;
}
if ("url" in entry) {
insert.url = entry.url;
}
data.push(insert);
}
......@@ -307,7 +316,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
data.push({
image: gridData[i].image,
left : gridData[i].left,
right: gridData[i].right
right: gridData[i].right,
url : gridData[i].url || ''
});
}
......@@ -328,12 +338,14 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
* @param {string} [left] - left content
* @param {string} [right] - right content
* @param {string} [image] - image
* @param {string} [url] - click url
*/
add: function (left, right, image) {
add: function (left, right, image, url) {
this.$data.push({
left : left || '',
right: right || '',
image: image || ''
image: image || '',
url : url || ''
});
this.refresh();
......@@ -347,8 +359,9 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
* @param {string} [left] - left content
* @param {string} [right] - right content
* @param {string} [image] - image path
* @param {string} [url] - click url
*/
edit: function (index, left, right, image) {
edit: function (index, left, right, image, url) {
if (typeof index === 'undefined') {
return;
}
......@@ -356,7 +369,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
this.$data[index] = {
left : left || '',
right: right || '',
image: image || ''
image: image || '',
url : url || ''
};
this.refresh();
......@@ -432,9 +446,10 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
var Left = Form.elements.left;
var Right = Form.elements.right;
var Image = Form.elements.image;
var Url = Form.elements.url;
Button.addEvent('click', function () {
this.edit(index, Left.value, Right.value, Image.value);
this.edit(index, Left.value, Right.value, Image.value, Url.value);
moofx(Container).animate({
opacity: 0,
......@@ -450,6 +465,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
Left.value = data.left;
Right.value = data.right;
Image.value = data.image;
Url.value = data.url;
Image.fireEvent('change');
}.bind(this));
......@@ -503,8 +519,9 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
var Left = Form.elements.left;
var Right = Form.elements.right;
var Image = Form.elements.image;
var Url = Form.elements.url;
this.add(Left.value, Right.value, Image.value);
this.add(Left.value, Right.value, Image.value, Url.value);
moofx(Container).animate({
opacity: 0,
......@@ -528,6 +545,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
return new Promise(function (resolve) {
var Container = new Element('div', {
html : Mustache.render(templateEntry, {
fieldImage: QUILocale.get(lg, 'quiqqer.products.control.promoslider.image'),
fieldUrl : QUILocale.get(lg, 'quiqqer.products.control.promoslider.url'),
fieldLeft : QUILocale.get(lg, 'quiqqer.products.control.promoslider.left'),
fieldRight: QUILocale.get(lg, 'quiqqer.products.control.promoslider.right')
}),
......
......@@ -16,6 +16,15 @@
</span>
</label>
<label class="field-container">
<span class="field-container-item">
{{fieldUrl}}
</span>
<span class="field-container-field">
<input name="url" data-qui="controls/projects/project/site/Input"/>
</span>
</label>
<label class="field-container">
<span class="field-container-item">
{{fieldLeft}}
......
......@@ -236,6 +236,16 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderWallpaper', [
var diff = Math.abs(startScroll - lastClientX);
if (diff <= 5) {
// click event
var Li = this.$List.getElement('li:nth-child(' + parseInt(currentSlide + 1) + ')');
if (Li.get('data-url') && Li.get('data-url') !== '') {
window.location = Li.get('data-url');
return;
}
}
if (diff < 50) {
this.show(currentSlide);
return;
......@@ -292,6 +302,19 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderWallpaper', [
}.bind(this)
});
// click events
this.$Container.getElements("li[data-url]").each(function (LiElement) {
if (LiElement.get('data-url') === '') {
return;
}
LiElement.setStyle('cursor', 'pointer');
LiElement.addEvent('click', function () {
window.location = this.get('data-url');
});
});
// navigation
if (this.$Next) {
this.$Next.addEvent('click', function (event) {
......
......@@ -632,6 +632,14 @@ M&ouml;chten Sie die Bausteine aus der Bausteinzone entfernen?</p>]]></de>
<en><![CDATA[Alignment]]></en>
</locale>
<locale name="quiqqer.products.control.promoslider.image">
<de><![CDATA[Hintergrundbild]]></de>
<en><![CDATA[Background image]]></en>
</locale>
<locale name="quiqqer.products.control.promoslider.url">
<de><![CDATA[Weiterleitungsadresse]]></de>
<en><![CDATA[Forwarding address]]></en>
</locale>
<locale name="quiqqer.products.control.promoslider.left">
<de><![CDATA[Linker Inhaltsbereich]]></de>
<en><![CDATA[Left content]]></en>
......
......@@ -35,8 +35,9 @@ class AbstractPromoslider extends QUI\Control
* @param string $title - Title Text or image.php URL to an image
* @param string $text - Description text
* @param string $type - left, right (default = right)
* @param string $url - index.php? or extern url
*/
public function addSlide($image, $title, $text, $type = 'right')
public function addSlide($image, $title, $text, $type = 'right', $url = '')
{
if (Utils::isMediaUrl($image)) {
try {
......@@ -77,7 +78,8 @@ public function addSlide($image, $title, $text, $type = 'right')
'image' => $image,
'title' => $title,
'text' => $text,
'pos' => $pos
'pos' => $pos,
'url' => $url
);
}
......@@ -87,8 +89,9 @@ public function addSlide($image, $title, $text, $type = 'right')
* @param string $image
* @param string $title
* @param string $text
* @param string $url - index.php? or extern url
*/
public function addMobileSlide($image, $title, $text)
public function addMobileSlide($image, $title, $text, $url = '')
{
if (Utils::isMediaUrl($image)) {
try {
......@@ -122,7 +125,8 @@ public function addMobileSlide($image, $title, $text)
$this->mobileSlides[] = array(
'image' => $image,
'title' => $title,
'text' => $text
'text' => $text,
'url' => $url
);
}
......@@ -147,7 +151,7 @@ protected function parseSlides($slides, $type = 'desktop')
return;
}
$attributes = array('image', 'title', 'text', 'type');
$attributes = array('image', 'title', 'text', 'type', 'url');
foreach ($slides as $slide) {
foreach ($attributes as $attribute) {
......@@ -162,7 +166,8 @@ protected function parseSlides($slides, $type = 'desktop')
$slide['image'],
$slide['title'],
$slide['text'],
$slide['type']
$slide['type'],
$slide['url']
);
break;
......@@ -170,7 +175,8 @@ protected function parseSlides($slides, $type = 'desktop')
$this->addMobileSlide(
$slide['image'],
$slide['title'],
$slide['text']
$slide['text'],
$slide['url']
);
break;
}
......
......@@ -10,7 +10,7 @@
{assign var=extraStyle value="display: none;"}
{/if}
{if $slide.pos == 'quiqqer-bricks-promoslider-slide-right'}
{if isset($slide.pos) && $slide.pos == 'quiqqer-bricks-promoslider-slide-right'}
{assign var=extraClass value=" quiqqer-bricks-promoslider-wallpaper-text__right"}
{/if}
......@@ -57,7 +57,7 @@
{assign var=extraStyle value="display: none;"}
{/if}
{if $slide.pos == 'quiqqer-bricks-promoslider-slide-right'}
{if isset($slide.pos) && $slide.pos == 'quiqqer-bricks-promoslider-slide-right'}
{assign var=extraClass value=" quiqqer-bricks-promoslider-wallpaper-text__right"}
{/if}
......
......@@ -2,7 +2,7 @@
{strip}
<ul class="hide-on-mobile">
{foreach $desktopSlides as $key => $slide}
<li>
<li data-url="{url url=$slide.url rewritten=1}">
{assign var=extraStyle value=""}
{assign var=extraClass value=""}
......@@ -35,7 +35,7 @@
{strip}
<ul class="hide-on-desktop">
{foreach $mobileSlides as $key => $slide}
<li>
<li data-url="{url url=$slide.url rewritten=1}">
{assign var=extraStyle value=""}
{assign var=extraClass value=""}
......
......@@ -54,10 +54,11 @@ public function __construct($attributes = array())
* @param string $left - optional, left text
* @param string $right - optional, right text
* @param string|bool $type - optional, not exists, but we are from PromosliderWallpaper and AbstractPromoslider
* @param string $url - index.php? or extern url
*/
public function addSlide($image, $left = '', $right = '', $type = false)
public function addSlide($image, $left = '', $right = '', $type = false, $url = '')
{
$this->desktopSlides[] = $this->checkSlideParams($image, $left, $right);
$this->desktopSlides[] = $this->checkSlideParams($image, $left, $right, $url);
}
/**
......@@ -66,10 +67,11 @@ public function addSlide($image, $left = '', $right = '', $type = false)
* @param string $image - image.php URL to an image
* @param string $left - optional, left text
* @param string $right - optional, right text
* @param string $url - index.php? or extern url
*/
public function addMobileSlide($image, $left = '', $right = '')
public function addMobileSlide($image, $left = '', $right = '', $url = '')
{
$this->mobileSlides[] = $this->checkSlideParams($image, $left, $right);
$this->mobileSlides[] = $this->checkSlideParams($image, $left, $right, $url);
}
/**
......@@ -78,9 +80,10 @@ public function addMobileSlide($image, $left = '', $right = '')
* @param string $image - image.php URL to an image
* @param string $left - Left text
* @param string $right - Right text
* @param string $url - index.php? or extern url
* @return array
*/
protected function checkSlideParams($image, $left = '', $right = '')
protected function checkSlideParams($image, $left = '', $right = '', $url = '')
{
if (Utils::isMediaUrl($image)) {
try {
......@@ -102,7 +105,8 @@ protected function checkSlideParams($image, $left = '', $right = '')
return array(
'image' => $image,
'left' => $left,
'right' => $right
'right' => $right,
'url' => $url
);
}
......@@ -127,7 +131,7 @@ protected function parseSlides($slides, $type = 'desktop')
return;
}
$attributes = array('image', 'left', 'right');
$attributes = array('image', 'left', 'right', 'url');
foreach ($slides as $slide) {
foreach ($attributes as $attribute) {
......@@ -141,7 +145,9 @@ protected function parseSlides($slides, $type = 'desktop')
$this->addSlide(
$slide['image'],
$slide['left'],
$slide['right']
$slide['right'],
'desktop',
$slide['url']
);
break;
......@@ -149,7 +155,8 @@ protected function parseSlides($slides, $type = 'desktop')
$this->addMobileSlide(
$slide['image'],
$slide['left'],
$slide['right']
$slide['right'],
$slide['url']
);
break;
}
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren