Cobalt 7 - nezobrazuje se výpis kategorie v IE 8
24. led 2013 21:12 #102824
Odpověď od Cony

Moderátor
Jak jsem psal, spuštění skriptu až po načtení kompletního DOM stromu se zajistí tímto
Případně pro spuštění skriptu až při načtení kompletního dokumentu (včetně obrázků apod.)
Předpokladem je že máte načtené Mootools, ale ty nejspíš budou.
Code:
window.addEvent('domready',function() {
// zde původní skript
});
Code:
window.addEvent('load',function() {
// zde původní skript
});
24. led 2013 21:19 #102825
Odpověď od CrocodilusCZ
Zkušený uživatel
Jestli to chápu správně tak nahradit
tímto
?
Moc nechápu, kam to jinam nacpat a už mi z toho jde hlava kolem.....
Code:
window.addEvent('domready',function() {
Code:
window.addEvent('load',function() {
Moc nechápu, kam to jinam nacpat a už mi z toho jde hlava kolem.....
24. led 2013 21:51 #102830
Odpověď od Cony

Moderátor
Nene, an jedna z těch možností tam momentálne neni, zkusil bych nejprve tu první. Někde v šabloně bude kód, přidávající tento script (vypsal jsem jen začátek a konec)
Asi nebude takto jednoduše zapsaný, bude to nějaká kombinace s PHP, ale někde tam bude.
tak celý tento kód upravit tak, aby vypadal takto
přidán jeden řádek a začátku a jeden na konci.
Code:
var t69ff3 = new TextboxList('tags', {
..
t69ff3.plugins['autocomplete'].setValues(r69ff3)
tak celý tento kód upravit tak, aby vypadal takto
Code:
window.addEvent('domready', function() {
var t69ff3 = new TextboxList('tags', {
..
t69ff3.plugins['autocomplete'].setValues(r69ff3);
});
24. led 2013 22:01 #102834
Odpověď od CrocodilusCZ
Zkušený uživatel
to bude asi tohle:
ale když část
uzavřu takhle:
tak už to nenajede...
Code:
<?php
/**
* Cobalt by MintJoomla
* a component for Joomla! 1.7 - 2.5 CMS (http://www.joomla.org)
* Author Website: http://www.mintjoomla.com/
* @copyright Copyright (C) 2012 MintJoomla (http://www.mintjoomla.com). All rights reserved.
* @license GNU/GPL http://www.gnu.org/copyleft/gpl.html
*/
defined('_JEXEC') or die();
class JHTMLMrelements
{
/**
*
* Enter description here ...
* @param unknown_type $name
* @param unknown_type $files
* @param array $options width, height, max_size, file_formats, max_count, ,
*/
public static function mooupload($name = 'filecontrol', $files = NULL, $options = array(), $field_id = 0)
{
$doc = JFactory::getDocument();
$doc->addScript(JURI::root().'media/mint/js/mooupload/MooUpload.js');
$doc->addStyleSheet(JURI::root().'media/mint/js/mooupload/style.css');
$tempname = substr(md5(time().rand(1, 1000000)), 0, 5);
$params = new JRegistry();
$params->loadArray($options);
$record_id = JRequest::getInt('id', 0);
$exts = explode(',', $params->get('file_formats', 'zip, jpg, png, jpeg, gif, txt, md, bmp'));
foreach ($exts as &$ext) {
$ext = trim($ext);
}
$session = JFactory::getSession();
$session->set('width', $params->get('width', 0), md5($name));
$session->set('height', $params->get('height', 0), md5($name));
$session->set('max_size', $params->get('max_size', 2097152), md5($name));
$session->set('file_formats', $exts, md5($name));
if(!empty($files) && is_array($files))
{
$files = json_encode($files);
}
else
{
$files = 0;
}
$out[] = '<div id="el'.$tempname.'"><dl id="system-message"><dt class="error">Error</dt><dd class="error message"><ul id="errorslist'.$tempname.'"></ul></dd></dl></div>';
$out[] = "
<script type=\"text/javascript\">
$('el{$tempname}').hide();
window.addEvent('load', function() {
var myUpload = new MooUpload('{$tempname}', {
action: '".JURI::root()."index.php?option=com_cobalt&task=files.upload&no_html=1§ion_id=".JRequest::getInt('section_id')."&record_id=".JRequest::getInt('id')."&type_id=".JRequest::getInt('type_id')."&field_id={$field_id}&key=".md5($name)."',
action_remove_file: '".JURI::root()."index.php?option=com_cobalt&task=files.uploadremove&no_html=1',
method: '".$params->get('method', 'auto')."',
tempname: '{$tempname}',
files:".$files.",
formname:'".$name."[]',
field_id:".$field_id.",
record_id:".$record_id.",
maxfilesize: ".$params->get('max_size', 2097152).",
exts: ['".implode("','", $exts)."'],
maxFilesCount: ".$params->get('max_count', 1).",
canDelete: ".$params->get('can_delete', 1).",
allowEditTitle: ".$params->get('allow_edit_title', 1).",
allowAddDescr: ".$params->get('allow_add_descr', 1).",
flash: {
movie: '".JURI::root()."media/mint/js/mooupload/Moo.Uploader.swf'
},
texts: {
error : '".JText::_('CERROR')."',
file : '".JText::_('CFILE')."',
filesize : '".JText::_('CFILESIZE')."',
filetype : '".JText::_('CFILETYPE')."',
nohtml5 : '".JText::_('CNOHTMLSUPPORT')."',
noflash : '".JText::_('CINSTALLFLASH')."',
sel : '".JText::_('CACT')."',
selectfile : '".JText::_('CADDFILE')."',
status : '".JText::_('CSTATUS')."',
startupload: '".JText::_('CCTARTUPLOAD')."',
uploaded : '".JText::_('CUPLOADED')."',
sure : '".JText::_('CSURE')."',
edit_descr : '".JText::_('CEDITDESCR')."',
edit_title : '".JText::_('CEDITTITLE')."'
},
".( $params->get('callback') ? "
onFileUpload:function(fileindex, response){
".$params->get('callback')."(fileindex, response);
}," : NULL)."
onFileDelete: function(error, filename){
if(error == '1016')
{
msg = '".JText::sprintf('CERR_FILEDOSENTDELETED', "' + filename", array('jsSafe' => true)).";
}
if(error == '1017')
{
msg = '".JText::sprintf('CERR_FILEDOSENTEXIST', "' + filename", array('jsSafe' => true)).";
}
if(error)
{
var li = new Element('li', {text:msg});
$('errorslist'+this.options.tempname).grab(li);
$('el'+this.options.tempname).show().slide('in');
}
},
onSelectError: function(error, filename, filesize){
var msg = error;
if(error == '1012')
{
msg = '".JText::sprintf('CERR_FILEUPLOADLIMITREACHED', $params->get('max_count', 1))."';
}
if(error == '1013')
{
msg = '".JText::sprintf('CERR_EXTENSIONNOTALLOWED', " + filename + ", array('jsSafe' => true))."';
}
if(error == '1014')
{
msg = '".JText::sprintf('CERR_UPLOADEDFILESIZESMALLER', "' + filename + '", array('jsSafe' => true))."';
}
if(error == '1015')
{
msg = '".JText::sprintf('CERR_UPLOADEDFILESIZEBIGGER', "' + filename + '", array('jsSafe' => true))."';
}
var li = new Element('li', {text:msg});
$('errorslist'+this.options.tempname).grab(li);
$('el'+this.options.tempname).show().slide('in');
}
});
});
</script>";
$out[] = '<div id="'.$tempname.'" class="upload-element"></div>';
if($exts)
{
$out[] = '<br/><span class="small">'.JText::_('CER_ONLYFORMATS').': <b>'.implode("</b>, <b>", $exts).'</b></span>';
}
$out[] = '<br/><span class="small">'.JText::_('CNSG_MAXSIZEPERFILE').': <b>'.HTMLFormatHelper::formatSize($params->get('max_size', 2097152)).'</b></span>';
return implode("\n", $out);
}
public static function autocompleteitem($html, $id = NULL, $render = NULL)
{
$o = new stdClass();
$o->id = ($id ? $id : strip_tags($html));
$o->html = $html;
$o->plain = strip_tags($html);
$o->render = ($render ? $render : $html);
return $o;
}
public static function listautocomplete($name, $id, $default = array(), $list = array(), $options = array())
{
$params = new JRegistry();
$params->loadArray($options);
settype($default, 'array');
if($params->get('only_values', 0) == 1 && !$list && !$params->get('ajax_url'))
{
return '<input type="hidden" name="'.$name.'" id="'.$id.'" value="" />';
}
$doc = JFactory::getDocument();
$doc->addStyleSheet(JURI::root().'media/mint/js/autocomplete/style.css');
$doc->addScript(JURI::root().'media/mint/js/GrowingInput.js');
$doc->addScript(JURI::root().'media/mint/js/autocomplete/listautocomplete.textbox.js');
$doc->addScript(JURI::root().'media/mint/js/autocomplete/listautocomplete.complete.js');
$el = $add = $skip = $a = array();
$script = NULL;
$patern = '["%s", "%s", "%s", "%s"]';
foreach ($default AS &$def)
{
if(!is_object($def))
{
$def = self::autocompleteitem($def);
}
if(!$def->id) continue;
$add[] = sprintf('add("%s", "%s", "%s")',
str_replace('"', '\\"', stripslashes($def->plain)),
str_replace('"', '\\"', stripslashes($def->id)),
str_replace('"', '\\"', stripslashes($def->html)));
$skip[] = $def->id;
}
foreach ($list as &$item)
{
if(!is_object($item))
{
$item = self::autocompleteitem($item);
}
if(in_array($item->id, $skip)) continue;
if(!trim($item->id)) continue;
$el[] = sprintf($patern,
str_replace('"', '\\"', stripslashes($item->id)),
str_replace('"', '\\"', stripslashes($item->plain)),
str_replace('"', '\\"', stripslashes($item->html)),
str_replace('"', '\\"', stripslashes($item->render)));
}
$a[] = "\nplaceholder: '".JText::_('CTYPETOSUGGEST')."'";
$a[] = "\nremote:{ emptyResultPlaceholder:'" . JText::_('CNOSUGGEST') . "', loadPlaceholder:'" . JText::_('CPLSWAIT') . "'}";
$a[] = "\nwidth: '" . $params->get('min_width', 300) . "'";
$a[] = "\nminLength: " . $params->get('min_length', 1);
$a[] = "\nmaxResults: " . $params->get('max_result', 10);
if($params->get('only_values', 0) == 1)
{
$a[] = "\nonlyFromValues: 1";
}
if($params->get('case_sensitive', 0))
{
$a[] = "\ninsensitive: false";
}
if($params->get('highlight', 0) == 0)
{
$a[] = "\nhighlight: false";
}
$additional[] = "\nplugins: {autocomplete: {".implode(',', $a)."}}";
if($params->get('coma_separate', 0))// && !count($el))
{
$additional[] = "\nbitsOptions : { editable : {addKeys:188}}";
}
if($params->get('max_items', 0))
{
$additional[] = "\nmax : ".$params->get('max_items', 0);
}
if($params->get('unique', 0))
{
$additional[] = "\nunique: true ";
}
if($params->get('separateby', 0))
{
$additional[] = "\n".'decode: function(o) {
return o.split(\''.$params->get('separateby').'\');
},
encode: function(o) {
return o.map(function(v) {
v = ($chk(v[0]) ? v[0] : v[1]);
return $chk(v) ? v : null;
}).clean().join(\''.$params->get('separateby').'\');
}';
}
$options = '{'.implode(',', $additional).'}';
$uniq = substr(md5(time().'-'.rand(0, 1000)), 0, 5);
$html[] = '<input type="text" name="'.$name.'" id="'.$id.'" value="" />';
$html[] = "<script type=\"text/javascript\">";
$html[] = "var t{$uniq} = new TextboxList('{$id}', {$options});\n";//
if($add)
{
$html[] = "t{$uniq}.".implode(".", $add).";\n";
}
if($el)
{
$html[] = "var r{$uniq} = [".implode(",", $el)."];\n";
$html[] = "t{$uniq}.plugins['autocomplete'].setValues(r{$uniq});\n";
}
if ($params->get('ajax_url'))
{
$html[] = "t{$uniq}.container.addClass('textboxlist-loading');\n";
$html[] = "new Request.JSON(
{url: '".$params->get('ajax_url')."',
data:{".$params->get('ajax_data')."},
onSuccess: function(r)
{
if(!r.success)
{
alert(r.error);
return;
}
if(r.result)
{
t{$uniq}.container.removeClass('textboxlist-loading');
t{$uniq}.plugins['autocomplete'].setValues(r.result);
}
}}).send();";
}
$html[] = "</script>\n";
$html[] = '<style type="text/css">
.textboxlist {
max-width: '.$params->get('max_width', 400).'px !important;
min-width: '.$params->get('min_width', 300).'px !important;
}
</style>';
return implode("\n", $html);
}
}
ale když část
Code:
$html[] = "var t{$uniq} = new TextboxList('{$id}', {$options});\n";//
if($add)
{
$html[] = "t{$uniq}.".implode(".", $add).";\n";
}
if($el)
{
$html[] = "var r{$uniq} = [".implode(",", $el)."];\n";
$html[] = "t{$uniq}.plugins['autocomplete'].setValues(r{$uniq});\n";
uzavřu takhle:
Code:
window.addEvent('domready', function() {
$options = '{'.implode(',', $additional).'}';
$uniq = substr(md5(time().'-'.rand(0, 1000)), 0, 5);
$html[] = '<input type="text" name="'.$name.'" id="'.$id.'" value="" />';
$html[] = "<script type=\"text/javascript\">";
$html[] = "var t{$uniq} = new TextboxList('{$id}', {$options});\n";//
if($add)
{
$html[] = "t{$uniq}.".implode(".", $add).";\n";
}
if($el)
{
$html[] = "var r{$uniq} = [".implode(",", $el)."];\n";
$html[] = "t{$uniq}.plugins['autocomplete'].setValues(r{$uniq});\n";
}
});
tak už to nenajede...
24. led 2013 22:07 #102836
Odpověď od Cony

Moderátor
Ajaj, oni to maj přímo v komponentě. Budete muset dávat pozor při upgrade.
Smíchal jste PHP a JS, zkuste tohle
Smíchal jste PHP a JS, zkuste tohle
Code:
$html[] = "window.addEvent('domready', function() { var t{$uniq} = new TextboxList('{$id}', {$options});\n";//
if($add)
{
$html[] = "t{$uniq}.".implode(".", $add).";\n";
}
if($el)
{
$html[] = "var r{$uniq} = [".implode(",", $el)."];\n";
$html[] = "t{$uniq}.plugins['autocomplete'].setValues(r{$uniq});});\n";
24. led 2013 22:11 #102838
Odpověď od CrocodilusCZ
Zkušený uživatel
Stránky to nerozstřelí, ale žádná změna.
Upravil jsem kód takto, i s okolní drobotí pro orientaci:
Bohužel v IE 8 stále stejné, stejná chyba, nezobrazuje se výpis:(
Upravil jsem kód takto, i s okolní drobotí pro orientaci:
Code:
return $chk(v) ? v : null;
}).clean().join(\''.$params->get('separateby').'\');
}';
}
$options = '{'.implode(',', $additional).'}';
$uniq = substr(md5(time().'-'.rand(0, 1000)), 0, 5);
$html[] = '<input type="text" name="'.$name.'" id="'.$id.'" value="" />';
$html[] = "<script type=\"text/javascript\">";
$html[] = "window.addEvent('domready', function() { var t{$uniq} = new TextboxList('{$id}', {$options});\n";//
if($add)
{
$html[] = "t{$uniq}.".implode(".", $add).";\n";
}
if($el)
{
$html[] = "var r{$uniq} = [".implode(",", $el)."];\n";
$html[] = "t{$uniq}.plugins['autocomplete'].setValues(r{$uniq});});\n";
}
if ($params->get('ajax_url'))
{
$html[] = "t{$uniq}.container.addClass('textboxlist-loading');\n";
$html[] = "new Request.JSON(
{url: '".$params->get('ajax_url')."',
data:{".$params->get('ajax_data')."},
onSuccess: function(r)
{
if(!r.success)
{
alert(r.error);
return;
}
Bohužel v IE 8 stále stejné, stejná chyba, nezobrazuje se výpis:(
24. led 2013 22:17 #102840
Odpověď od Cony

Moderátor
Buď jste to už vypnul, nebo to nebylo správné místo, změny ve zdrojích nevidím.
24. led 2013 22:24 #102845
Odpověď od CrocodilusCZ
Zkušený uživatel
Nevypnul, nezobrazují se knihy ve výpise. Chyba se zobrazuje pořád stejná.
Kdybych udělal zálohu čisté instalace Joomly s Cobaltem, což je kombinace kterou tu řešíme, nechtělo by se Vám na to mrknout? Hodil bych link ke stažení, má to do 10MB....
Kdybych udělal zálohu čisté instalace Joomly s Cobaltem, což je kombinace kterou tu řešíme, nechtělo by se Vám na to mrknout? Hodil bych link ke stažení, má to do 10MB....
24. led 2013 22:37 #102848
Odpověď od Cony

Moderátor
Promiňte ale to ne, může to být sice řešení na pár minut, ale také na mnoha hodinové zkoumání. Nemám ani IE8 k dispozici a v IE9, jak jsem psal se mi to ukazuje dobře. Pokud to opravdu řeší někdo přímo od Cobalt, zkuste počkat na ně.
24. led 2013 23:02 #102853
Odpověď od CrocodilusCZ
Zkušený uživatel
V pohodě, chápu, taky by se mi s tím nechtělo štvát, kdybych nemusel 
Stejně děkuju

Stejně děkuju