Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 08. Juli 2013 08:02

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

[GELÖST] Dropdown der Gallerys in News

Hallo!

Ihr habt mir vor geraumer Zeit hiermit geholfen - http://www.cmsmadesimple.de/forum/viewt … id=911&p=2 - hier ging es um das automatische Verbinden einer Gallery mit einer Seite - wie kann man das an einem Newsbeitrag anwenden. Ich möchte es meiner Kundin so einfach wie möglich machen. Es sollte in den News einfach ein Dropdown geben, in der man die passende Gallery auswählt - danach sollte einfach nach dem Beitrag der Gallerytag eingefügt werden - kann mir da jemand helfen?

Vielen Dank!

Beitrag geändert von brandy (18. Juli 2013 22:17)

Offline

#2 08. Juli 2013 20:43

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Hm. Das geht mit module_custom und ein wenig konfigurieren.

Installiere mal die ToolBox. Da ist die Galleryfunktion enthalten.
Danach lies mal folgende Threads:
http://www.cmsmadesimple.de/forum/viewtopic.php?id=629
http://www.cmsmadesimple.de/forum/viewtopic.php?id=2933

Füge folgende zwei Plugins zu deinem ./plugins Ordner hinzu:

======= Datei function.btReplaceAsDropdown.php =======
<?php

function smarty_function_btReplaceAsDropdown($params, &$template)
{
  $smarty = $template->smarty;
	$gCms = cmsms();
	global $id;
	
	$data = array();
	foreach (explode(",", $params["dropdown"]) as $cLine) {
	    list ($cKey, $cValue) = explode(':', $cLine, 2);
	    $data[$cKey] = $cValue;
	}
	
  preg_match_all('/\s+([^=]+)="([^"]*)"/', $params['field'], $matches);
  if ($matches) {
    foreach ($matches[1] as $key => $value) {
      $field_params[$value] = $matches[2][$key];
    }
    if ($field_params) {
			$text = '<select class="cms_dropdown" name="'.$field_params['name'].'"';
			$text .= '>';
			$count = 0;
			if (is_array($data) && count($data) > 0)
			{
				foreach ($data as $key=>$value)
				{
				  //		  $value = cms_htmlentities($value);
				$text .= '<option value="'.$key.'"';
					if ($field_params['value'] == $key)
					{
						$text .= ' ' . 'selected="selected"';
					}
					$text .= '>';
					$text .= $value;
					$text .= '</option>';
					$count++;
				}
			}
			$text .= '</select>'."\n";
    }
	}
	
	echo $text;	
	
}
======= Datei function.btArrayToString.php =======
<?php
function smarty_function_btArrayToString($params, &$template)
{
  $smarty = $template->smarty;
  $output = implode(', ', array_map(function ($v, $k) { return $k . ':' . $v; }, $params['array'], array_keys($params['array'])));
  $smarty->assign(trim($params['assign']),$output);
}

Erstelle ein eigenes Template im module_custom Ordner.

Hier ist nun ein wenig gebastel angezeigt:

{capture}{tbGetGalleryTree}{/capture}
{foreach from=$custom_fields item='field'}
	{if trim($field->prompt) == "Gallery"}
    <div class="pageoverflow">
       <p class="pagetext">{$field->prompt}</p>
       <p class="pageinput">  
      {btArrayToString array=$tbGetGalleryTreeArray assign=dropdownstring}
      {btReplaceAsDropdown field=$field->field dropdown=$dropdownstring}
       </p>
</div>
  {/if}
{/foreach}
{/if}

Das ganze ist ungetestet, müsste aber in etwa so funktionieren.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#3 09. Juli 2013 08:46

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Erstmal vielen Dank!

Ich hab mir jetzt mal die Dateien auf den Server gespielt. Wie funktioniert das aber mit dem module_custom Ordner - wo muss ich diesen anlegen?
Danke!

Offline

#4 09. Juli 2013 08:53

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.435

Re: [GELÖST] Dropdown der Gallerys in News

http://docs.cmsmadesimple.org/customizi … -templates

Oder hier mal im Forum suchen.
Gibt da einige Beispiele.
Ist kein großes Voodoo.
Einfach nur Templates und Sprachdateien.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#5 09. Juli 2013 10:09

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

brandy schrieb:

Erstmal vielen Dank!

Ich hab mir jetzt mal die Dateien auf den Server gespielt. Wie funktioniert das aber mit dem module_custom Ordner - wo muss ich diesen anlegen?
Danke!

Zwei Links dazu sind oben bereits in meinem Post.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#6 09. Juli 2013 10:15

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Gut, module_custom ist mal klar - hab mir jetzt das editarticle.tpl geschnappt und deinen Code eingebaut - wo soll dieser Code dann hin - habs jetzt mal nach

gesetzt.

Offline

#7 09. Juli 2013 13:36

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Dort wo du das Drop-Down plaziert haben willst. Irgendwo im Template.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#8 09. Juli 2013 14:01

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Meine editarticle sieht jetzt folgendermaßen aus:

<div id="editarticle_result"></div>

{$startform}
<div class="pageoverflow">
  <p class="pagetext">&nbsp;</p>
  <p class="pageinput">{$hidden}{$submit}{$cancel}{if isset($apply)}{$apply}{/if}</p>
</div>

{if isset($start_tab_headers)}
{$start_tab_headers}
{$tabheader_article}
{$tabheader_preview}
{$end_tab_headers}

{$start_tab_content}
{$start_tab_article}
{/if}
<div id="edit_article">
{if $inputauthor}
	<div class="pageoverflow">
		<p class="pagetext">*{$authortext}:</p>
		<p class="pageinput">{$inputauthor}</p>
	</div>
{/if}
	<div class="pageoverflow">
		<p class="pagetext">*{$titletext}:</p>
		<p class="pageinput">{$inputtitle}</p>
	</div>
	<div class="pageoverflow">
		<p class="pagetext">*{$categorytext}:</p>
		<p class="pageinput">{$inputcategory}</p>
	</div>
{if !isset($hide_summary_field) or $hide_summary_field == '0'}
	<div class="pageoverflow">
		<p class="pagetext">{$summarytext}:</p>
		<p class="pageinput">{$inputsummary}</p>
	</div>
{/if}
	<div class="pageoverflow">
		<p class="pagetext">*{$contenttext}:</p>
		<p class="pageinput">{$inputcontent}</p>
	</div>
	<div class="pageoverflow">
		<p class="pagetext">{$extratext}:</p>
		<p class="pageinput">{$inputextra}</p>
		
	</div>
        <div class="pageoverflow">
                <p class="pagetext">{$urltext}:</p>
                <p class="pageinput">{$inputurl}</p>
        </div>

	<div class="pageoverflow">
		<p class="pagetext">{$postdatetext}:</p>
		<p class="pageinput">{html_select_date prefix=$postdateprefix time=$postdate start_year="-10" end_year="+15"} {html_select_time prefix=$postdateprefix time=$postdate}</p>
	</div>
{if isset($statustext)}
	<div class="pageoverflow">
		<p class="pagetext">*{$statustext}:</p>
		<p class="pageinput">{$status}</p>
	</div>
{else}
	{$status}
{/if}

{capture}{tbGetGalleryTree}{/capture}
{foreach from=$custom_fields item='field'}
	{if trim($field->prompt) == "Gallery"}
    <div class="pageoverflow">
       <p class="pagetext">{$field->prompt}</p>
       <p class="pageinput">  
      {btArrayToString array=$tbGetGalleryTreeArray assign=dropdownstring}
      {btReplaceAsDropdown field=$field->field dropdown=$dropdownstring}
       </p>
</div>
  {/if}
{/foreach}


	<div class="pageoverflow">
		<p class="pagetext">{$useexpirationtext}:</p>
		<p class="pageinput"><input type="checkbox" name="{$actionid}useexp" {if $useexp == 1}checked="checked"{/if} onclick="togglecollapse('expiryinfo');" class="pagecheckbox"/></p>
	</div>
	<div id="expiryinfo" {if $useexp != 1}style="display: none;"{/if}>
	<div class="pageoverflow">
		<p class="pagetext">{$startdatetext}:</p>
		<p class="pageinput">{html_select_date prefix=$startdateprefix time=$startdate start_year="-10" end_year="+15"} {html_select_time prefix=$startdateprefix time=$startdate}</p>
	</div>
	<div class="pageoverflow">
		<p class="pagetext">{$enddatetext}:</p>
		<p class="pageinput">{html_select_date prefix=$enddateprefix time=$enddate start_year="-10" end_year="+15"} {html_select_time prefix=$enddateprefix time=$enddate}</p>
	</div>
	</div>
{if isset($custom_fields)}
{foreach from=$custom_fields item='field'}
        <div class="pageoverflow">
           <p class="pagetext">{$field->prompt}</p>
           <p class="pageinput">{$field->field}</p>
        </div>
{/foreach}
{/if}
</div>
{if isset($end_tab_article)}{$end_tab_article}{/if}

{if isset($start_tab_preview)}
{$start_tab_preview}
<script type="text/javascript">{literal}
jQuery(document).ready(function(){
  jQuery('[name=m1_apply]').live('click',function(){
    if( typeof tinyMCE != 'undefined') tinyMCE.triggerSave();
    var data = jQuery('form').find('input:not([type=submit]), select, textarea').serializeArray();
    data.push({'name': 'm1_ajax', 'value': 1});
    data.push({'name': 'm1_apply', 'value': 1});
    data.push({'name': 'showtemplate', 'value': 'false'});
    var url = jQuery('form').attr('action');
    jQuery.post(url,data,function(resultdata,text){
      var resp = jQuery(resultdata).find('Response').text();
      var details = jQuery(resultdata).find('Details').text();
      var htmlShow = '';
      if( resp == 'Success' && details != '' )
      {
	 htmlShow = '<div class="pagemcontainer"><p class="pagemessage">'+details+'<\/p><\/div>';
      }
      else
      {
	 htmlShow = '<div class="pageerrorcontainer"><ul class="pageerror">';
	 htmlShow += details;
	 htmlShow += '<\/ul><\/div>';
      }
      jQuery('#editarticle_result').html(htmlShow);
    },'xml');
    return false;
  });

  function news_dopreview()
  {
    if( typeof tinyMCE != 'undefined') tinyMCE.triggerSave();
    var data = jQuery('form').find('input:not([type=submit]), select, textarea').serializeArray();
    data.push({'name': 'm1_ajax', 'value': 1});
    data.push({'name': 'm1_preview', 'value': 1});
    data.push({'name': 'showtemplate', 'value': 'false'});
    data.push({'name': 'm1_previewpage', 'value': jQuery('#preview_returnid').val()});
    data.push({'name': 'm1_detailtemplate', 'value': jQuery('#preview_template').val()});
    var url = jQuery('form').attr('action');
    jQuery.post(url,data,function(resultdata,text){
      var resp = jQuery(resultdata).find('Response').text();
      var details = jQuery(resultdata).find('Details').text();
      var htmlShow = '';
      if( resp == 'Success' && details != '' )
      {
	 // preview worked... now the details should contain the url
         details = details.replace(/amp;/g,'');
         jQuery('#previewframe').attr('src',details);
      }
      else
      {
	 if( details == '' ) details = 'An unknown error occurred';

	 // preview save did not work.
	 htmlShow = '<div class="pageerrorcontainer"><ul class="pageerror">';
	 htmlShow += details;
	 htmlShow += '<\/ul><\/div>';
         jQuery('#editarticle_result').html(htmlShow);
      }
    },'xml');
  }

  jQuery('#preview').click(function(){
    news_dopreview();
    return false;
  });

  jQuery('#preview_returnid,#preview_template').change(function(){
    news_dopreview();
    return false;
  });
});
{/literal}</script>

{* display a warning *}
<div class="pagewarning">{$warning_preview}</div>
<fieldset>
  <label for="preview_template">{$prompt_detail_template}:</label>&nbsp;
  <select id="preview_template" name="preview_template">
  {html_options options=$detail_templates selected=$cur_detail_template}
  </select>&nbsp;

  <label for="preview_returnid">{$prompt_detail_page}:</label>&nbsp;
  {$preview_returnid}
</fieldset>
<br/>
<iframe id="previewframe" style="height: 800px; width: 100%; border: 1px solid black; overflow: auto;" src=""></iframe>
{$end_tab_preview}
{$end_tab_content}
{/if}

<div class="pageoverflow">
  <p class="pagetext">&nbsp;</p>
  <p class="pageinput">{$hidden}{$submit}{$cancel}{if isset($apply)}{$apply}{/if}</p>
</div>
{$endform}

Muss ich die zwei PHP-Dateien noch irgendwie einbinden, weil momentan funktionierts noch nicht!
Danke!

Offline

#9 09. Juli 2013 14:31

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Die zwei PHP Dateien gehören ins ./plugin Verzeichnis. Der Namen der PHP Datei steht jeweils oben ===== name der datei ======.  Dieser Teil darf nicht in die Datei eingefügt werden.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#10 09. Juli 2013 14:33

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Hab ich so gemacht - wollt mich nur absichern ;-)

Wo gibts da sonst mögliche Probleme - hab nämlich noch kein neues Feld - Danke!

Beitrag geändert von brandy (09. Juli 2013 15:24)

Offline

#11 09. Juli 2013 15:34

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Hast du ein entsprechendes Feld im Newsmodul angelegt?


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#12 09. Juli 2013 18:47

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Nein...
Welches Feld lege ich an - unter Extrafelder gibt es kein Dropdown?

Danke!

Offline

#13 10. Juli 2013 04:32

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Ein normales Textfeld. Da es eben keine Dropdown Möglichkeit gibt,  nehmen wir hier ein normales Textfeld und bauen es mit der "btReplaceAsDropdown" Funktion in ein Dropdown um.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#14 10. Juli 2013 06:53

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Ok, ich hab jetzt ein Textfeld eingebaut, das "Gallery" heißt. Er macht mir auch was, jedoch nicht das was es sein soll - Wenn ich das Feld anlege, fehlt bei der Artikelbearbeitung praktisch das Template (Hintergrund weiß, nichts ausgerichtet usw.). Es steht noch die Überschrift des angelegten Feldes (Gallery), dann fehlt jedoch das Entsprechende Text- bzw. Dropdownfeld...
Danke!

Offline

#15 10. Juli 2013 08:21

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 281

Re: [GELÖST] Dropdown der Gallerys in News

Hab das auch mal nachvollzogen und bestätige brandys Problem. Bei mir stehen folgende Fehlermeldungen im Template:

[== Fehlermeldung ==]
Warning: array_keys() expects parameter 1 to be array, null given in /home/hinzundkunz/public_html/plugins/function.btArrayToString.php on line 5

Warning: array_map(): Argument #2 should be an array in /home/hinzundkunz/public_html/plugins/function.btArrayToString.php on line 5

Warning: implode(): Invalid arguments passed in /home/hinzundkunz/public_html/plugins/function.btArrayToString.php on line 5

Fatal error: Call to undefined function assign() in /home/hinzundkunz/public_html/plugins/function.btArrayToString.php on line 6

In Zeile 5 und 6 des plugins steht:

[== function.btArrayToString.php ==]
$output = implode(', ', array_map(function ($v, $k) { return $k . ':' . $v; }, $params['array'], array_keys($params['array'])));
  $smarty-assign(trim($params['assign']),$output);

Core 1.11.6
News 2.12.12
Gallery 1.6.1
ToolBox 1.3.5

Offline

#16 13. Juli 2013 07:17

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

So, nun habe ich Zeit gefunden das ganze selber zu testen und zu korrigieren. Hier nun eine lauffähige Version:

==== Datei function.btReplaceAsDropdown.php --> speichern im ./plugins Ordner ====

<?php

function smarty_function_btReplaceAsDropdown($params, &$template)
{
  $smarty = $template->smarty;
	$gCms = cmsms();
	global $id;
	
	$data = array();
	foreach (explode(",", $params["dropdown"]) as $cLine) {
	    list ($cKey, $cValue) = explode(':', $cLine, 2);
	    $data[$cKey] = $cValue;
	}
	
  preg_match_all('/\s+([^=]+)="([^"]*)"/', $params['field'], $matches);
  if ($matches) {
    foreach ($matches[1] as $key => $value) {
      $field_params[$value] = $matches[2][$key];
    }
    if ($field_params) {
			$text = '<select class="cms_dropdown" name="'.$field_params['name'].'"';
			$text .= '>';
			$count = 0;
			if (is_array($data) && count($data) > 0)
			{
				foreach ($data as $key=>$value)
				{
				  //		  $value = cms_htmlentities($value);
				$text .= '<option value="'.$key.'"';
					if ($field_params['value'] == $key)
					{
						$text .= ' ' . 'selected="selected"';
					}
					$text .= '>';
					$text .= $value;
					$text .= '</option>';
					$count++;
				}
			}
			$text .= '</select>'."\n";
    }
	}
	
	echo $text;	
	
}
==== Datei function.btArrayToString.php --> speichern im ./plugins Ordner ====

<?php
function smarty_function_btArrayToString($params, &$template)
{
  $smarty = $template->smarty;
  $output = implode(', ', array_map(function ($v, $k) { return $k . ':' . $v; }, $params['array'], array_keys($params['array'])));
  $smarty->assign(trim($params['assign']),$output);
}

Nun in der News ein Extrafeld mit den Namen "Gallery" erfassen. Als Typ "Einzeiliges Textfeld" wählen

==== Datei editarticle.tpl --> speichern im ./module_custom/News/templates Ordner ====
<div id="editarticle_result"></div>

{$startform}
<div class="pageoverflow">
  <p class="pagetext">&nbsp;</p>
  <p class="pageinput">{$hidden}{$submit}{$cancel}{if isset($apply)}{$apply}{/if}</p>
</div>

{if isset($start_tab_headers)}
{$start_tab_headers}
{$tabheader_article}
{$tabheader_preview}
{$end_tab_headers}

{$start_tab_content}
{$start_tab_article}
{/if}
<div id="edit_article">

{capture}{tbGetGalleryTree}{/capture}
{foreach from=$custom_fields item='field'}
	{if trim($field->prompt) == "Gallery"}
    <div class="pageoverflow">
       <p class="pagetext">{$field->prompt}</p>
       <p class="pageinput">  
      {btArrayToString array=$tbGalleryTreeArray assign=dropdownstring}
      {btReplaceAsDropdown field=$field->field dropdown=$dropdownstring}
       </p>
</div>
  {/if}
{/foreach}




{if $inputauthor}
	<div class="pageoverflow">
		<p class="pagetext">*{$authortext}:</p>
		<p class="pageinput">{$inputauthor}</p>
	</div>
{/if}
	<div class="pageoverflow">
		<p class="pagetext">*{$titletext}:</p>
		<p class="pageinput">{$inputtitle}</p>
	</div>
	<div class="pageoverflow">
		<p class="pagetext">*{$categorytext}:</p>
		<p class="pageinput">{$inputcategory}</p>
	</div>
{if !isset($hide_summary_field) or $hide_summary_field == '0'}
	<div class="pageoverflow">
		<p class="pagetext">{$summarytext}:</p>
		<p class="pageinput">{$inputsummary}</p>
	</div>
{/if}
	<div class="pageoverflow">
		<p class="pagetext">*{$contenttext}:</p>
		<p class="pageinput">{$inputcontent}</p>
	</div>
	<div class="pageoverflow">
		<p class="pagetext">{$extratext}:</p>
		<p class="pageinput">{$inputextra}</p>
		
	</div>
        <div class="pageoverflow">
                <p class="pagetext">{$urltext}:</p>
                <p class="pageinput">{$inputurl}</p>
        </div>

	<div class="pageoverflow">
		<p class="pagetext">{$postdatetext}:</p>
		<p class="pageinput">{html_select_date prefix=$postdateprefix time=$postdate start_year="-10" end_year="+15"} {html_select_time prefix=$postdateprefix time=$postdate}</p>
	</div>
{if isset($statustext)}
	<div class="pageoverflow">
		<p class="pagetext">*{$statustext}:</p>
		<p class="pageinput">{$status}</p>
	</div>
{else}
	{$status}
{/if}
	<div class="pageoverflow">
		<p class="pagetext">{$useexpirationtext}:</p>
		<p class="pageinput"><input type="checkbox" name="{$actionid}useexp" {if $useexp == 1}checked="checked"{/if} onclick="togglecollapse('expiryinfo');" class="pagecheckbox"/></p>
	</div>
	<div id="expiryinfo" {if $useexp != 1}style="display: none;"{/if}>
	<div class="pageoverflow">
		<p class="pagetext">{$startdatetext}:</p>
		<p class="pageinput">{html_select_date prefix=$startdateprefix time=$startdate start_year="-10" end_year="+15"} {html_select_time prefix=$startdateprefix time=$startdate}</p>
	</div>
	<div class="pageoverflow">
		<p class="pagetext">{$enddatetext}:</p>
		<p class="pageinput">{html_select_date prefix=$enddateprefix time=$enddate start_year="-10" end_year="+15"} {html_select_time prefix=$enddateprefix time=$enddate}</p>
	</div>
	</div>
{*if isset($custom_fields)}
{foreach from=$custom_fields item='field'}
        <div class="pageoverflow">
           <p class="pagetext">{$field->prompt}</p>
           <p class="pageinput">{$field->field}</p>
        </div>
{/foreach}
{/if*}
</div>
{if isset($end_tab_article)}{$end_tab_article}{/if}

{if isset($start_tab_preview)}
{$start_tab_preview}
<script type="text/javascript">{literal}
jQuery(document).ready(function(){
  jQuery('[name=m1_apply]').live('click',function(){
    if( typeof tinyMCE != 'undefined') tinyMCE.triggerSave();
    var data = jQuery('form').find('input:not([type=submit]), select, textarea').serializeArray();
    data.push({'name': 'm1_ajax', 'value': 1});
    data.push({'name': 'm1_apply', 'value': 1});
    data.push({'name': 'showtemplate', 'value': 'false'});
    var url = jQuery('form').attr('action');
    jQuery.post(url,data,function(resultdata,text){
      var resp = jQuery(resultdata).find('Response').text();
      var details = jQuery(resultdata).find('Details').text();
      var htmlShow = '';
      if( resp == 'Success' && details != '' )
      {
	 htmlShow = '<div class="pagemcontainer"><p class="pagemessage">'+details+'<\/p><\/div>';
      }
      else
      {
	 htmlShow = '<div class="pageerrorcontainer"><ul class="pageerror">';
	 htmlShow += details;
	 htmlShow += '<\/ul><\/div>';
      }
      jQuery('#editarticle_result').html(htmlShow);
    },'xml');
    return false;
  });

  function news_dopreview()
  {
    if( typeof tinyMCE != 'undefined') tinyMCE.triggerSave();
    var data = jQuery('form').find('input:not([type=submit]), select, textarea').serializeArray();
    data.push({'name': 'm1_ajax', 'value': 1});
    data.push({'name': 'm1_preview', 'value': 1});
    data.push({'name': 'showtemplate', 'value': 'false'});
    data.push({'name': 'm1_previewpage', 'value': jQuery('#preview_returnid').val()});
    data.push({'name': 'm1_detailtemplate', 'value': jQuery('#preview_template').val()});
    var url = jQuery('form').attr('action');
    jQuery.post(url,data,function(resultdata,text){
      var resp = jQuery(resultdata).find('Response').text();
      var details = jQuery(resultdata).find('Details').text();
      var htmlShow = '';
      if( resp == 'Success' && details != '' )
      {
	 // preview worked... now the details should contain the url
         details = details.replace(/amp;/g,'');
         jQuery('#previewframe').attr('src',details);
      }
      else
      {
	 if( details == '' ) details = 'An unknown error occurred';

	 // preview save did not work.
	 htmlShow = '<div class="pageerrorcontainer"><ul class="pageerror">';
	 htmlShow += details;
	 htmlShow += '<\/ul><\/div>';
         jQuery('#editarticle_result').html(htmlShow);
      }
    },'xml');
  }

  jQuery('#preview').click(function(){
    news_dopreview();
    return false;
  });

  jQuery('#preview_returnid,#preview_template').change(function(){
    news_dopreview();
    return false;
  });
});
{/literal}</script>

{* display a warning *}
<div class="pagewarning">{$warning_preview}</div>
<fieldset>
  <label for="preview_template">{$prompt_detail_template}:</label>&nbsp;
  <select id="preview_template" name="preview_template">
  {html_options options=$detail_templates selected=$cur_detail_template}
  </select>&nbsp;

  <label for="preview_returnid">{$prompt_detail_page}:</label>&nbsp;
  {$preview_returnid}
</fieldset>
<br/>
<iframe id="previewframe" style="height: 800px; width: 100%; border: 1px solid black; overflow: auto;" src=""></iframe>
{$end_tab_preview}
{$end_tab_content}
{/if}

<div class="pageoverflow">
  <p class="pagetext">&nbsp;</p>
  <p class="pageinput">{$hidden}{$submit}{$cancel}{if isset($apply)}{$apply}{/if}</p>
</div>
{$endform}

--> Die entscheidende Ergänzung im editarticle.tpl ist folgende

{capture}{tbGetGalleryTree}{/capture}
{foreach from=$custom_fields item='field'}
	{if trim($field->prompt) == "Gallery"}
    <div class="pageoverflow">
       <p class="pagetext">{$field->prompt}</p>
       <p class="pageinput">  
      {btArrayToString array=$tbGalleryTreeArray assign=dropdownstring}
      {btReplaceAsDropdown field=$field->field dropdown=$dropdownstring}
       </p>
</div>
  {/if}
{/foreach}

[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#17 14. Juli 2013 20:55

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

@nockenfell: Vielen Dank! Bekomm jetzt den Galeriepfad ausgegeben!

Wie kommt das Ganze aber zur Ausgabe?
Finde im Zusammenfassungstemplate nirgends eine Abfrage für ein Extrafeld...

Danke nochmals!

Offline

#18 15. Juli 2013 06:49

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

{Gallery dir=$entry->fields.Gallery->value}

[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#19 15. Juli 2013 08:45

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

ohne es testen zu wollen. was genau macht das jetzt? ich nehme an wenn man nen newsbeitrag verfasst, erscheint ein dropdownfeld bei dem man aus einem gallery-album wählen kann?

Offline

#20 15. Juli 2013 08:59

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Genau


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#21 15. Juli 2013 13:44

faglork
arbeitet mit CMS/ms
Ort: Fränkische Schweiz
Registriert: 15. Dezember 2010
Beiträge: 1.152
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Ich versteh das alles nicht.

Das Newsmodul verwendet doch den Wsyiwyg-Editor. Da kann man doch einfach das Gallery-Auswahl-Plugin anschalten und fertich ...

Oder habe ich da was kolossal missverstanden?

Servus,
Alex

Beitrag geändert von faglork (15. Juli 2013 13:45)

Offline

#22 15. Juli 2013 14:03

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

faglork schrieb:

Ich versteh das alles nicht.

Das Newsmodul verwendet doch den Wsyiwyg-Editor. Da kann man doch einfach das Gallery-Auswahl-Plugin anschalten und fertich ...

Oder habe ich da was kolossal missverstanden?

Auch eine Möglichkeit. Wenn allerdings hier Designtechnisch enge Grenzen gesetzt werden sollen, ist die Möglichkeit via Extrafeld besser.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#23 15. Juli 2013 15:25

mike-r
arbeitet mit CMS/ms
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

faglork schrieb:

Da kann man doch einfach das Gallery-Auswahl-Plugin anschalten und fertich ...

Kleine Zwischenfrage: ich habe den gerade mal bei einer Installation aktiv gesetzt, bekomme aber keinen Button. Muss ich den noch in die Werkzeugleiste einfügen und wenn ja mit welchem Aufruf?

Edit: ja, stundenlanges Ausprobieren ersetzt jedes Manual,  "gallery_picker" muss noch in die Werkzeugleiste.

Beitrag geändert von mike-r (15. Juli 2013 15:27)


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

#24 15. Juli 2013 15:29

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

In dem du in den TinyMCE-Einstellungen unter "Profile" folgendes ergänzt:

gallery_picker

--> einfach dort einfügen wo du ihn in der Werkzeugleiste haben willst.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#25 15. Juli 2013 20:34

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] Dropdown der Gallerys in News

Kleiner Einwurf:
Funktioniert das ganze bei MicroTiny auch?

Zurück zum Ausgangsthema:
Die Lösung von nockenfell funktioniert schon mal - aber noch nicht ganz. Ich bekomme nur die ersten 3 Top-Galerien angezeigt. Er greift nicht auf die angegebene Unterkategorie zu - was hats da?

Offline