Joomla 5.1.0 a Joomla 4.4.4 (17 dub 2024)
Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.
formulář výchozí hodnota
20. říj 2015 13:53 #124050
Odpověď od Cony
Moderátor
Takže
a
Ukáže kompletně stejný var_dump, hodnotu i typ? A pak to v šabloně, bez jakékoliv jiné změny nefunguje? To opravdu nedává smysl, spíš tam budete mít nějaký drobný překlep nebo něco. Občas člověk do kódu kouká hodiny a pak narazí na to že místo parametr napsal parameter.
Code:
$parametr=$row[2];
var_dump($parametr);
$smarty->assign('prpoz', $parametr);
Code:
$parametr='123456';
var_dump($parametr);
$smarty->assign('prpoz', $parametr);
20. říj 2015 15:21 #124056
Odpověď od Ernst
Joomla Expert
stejnou hodnotu ne, v databázi mám '1234'
ale var_dump a typ ano, jdu čučet do kódu, a ještě napíšu
ale var_dump a typ ano, jdu čučet do kódu, a ještě napíšu
20. říj 2015 16:07 #124059
Odpověď od Ernst
Joomla Expert
čumím na to již několik hodin a nic nevidím
v methods.php je
v tpl souboru je
pokud odkomentuji řádku //$mujparametr='123456';, tak se tato hodnota předvyplní, jinak ne,
Var_dump obou hodnot je stejné. Nemohou být v tom stringu nějaké znaky, které to tpl nebere?
v methods.php je
Code:
public function display($tpl = null)
{
$app = JFactory::getApplication();
$this->loadAssets();
if ($app->isSite()) {
$smarty = LoveFactoryApplication::getInstance()->getSmarty($this->getName());
// Assign variables.
foreach ($this->get as $get) {
$method = 'get' . ucfirst($get);
$value = method_exists($this, $method) ? $this->$method() : $this->get($get);
$smarty->assign($get, $value);
$this->$get = $value;
}
// Assign view name.
$smarty->assign('viewName', $this->getName());
$layout = $this->getLayout();
if (!is_null($this->tpl)) {
$layout .= '_' . $this->tpl;
}
$path = LoveFactoryApplication::getInstance()->getPath('component').DS.'views'.DS.$this->getName().DS.'tmpl';
// Check if layout exists
// jimport('joomla.filesystem.file');
// if (!JFile::exists($path.DS.$layout.'.tpl')) {
// $layout = 'default';
// }
$smarty->addPluginsDir(JPATH_SITE . '/components/com_lovefactory/lib/ThePhpFactory/LoveFactory/Smarty/Plugins');
$smarty
->addTemplateDir(JPATH_THEMES . '/' . $app->getTemplate() . '/html/com_lovefactory/' . $this->getName())
->addTemplateDir(LoveFactoryApplication::getInstance()->getPath('component') . '/views')
->addTemplateDir($path);
foreach ($this->extraTplViewPaths as $view) {
$smarty
->addTemplateDir(JPATH_THEMES . '/' . $app->getTemplate() . '/html/com_lovefactory/' . $view)
->addTemplateDir(LoveFactoryApplication::getInstance()->getPath('component').DS.'views'.DS.$view.DS.'tmpl');
}
$user = intval(JFactory::getUser()->id);
$on= intval($this->profile->user_id);
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$conditions = array($db->quoteName('id_ja') . ' = '.$user .' and '.$db->quoteName('id_on') . ' = '.$on);
$query->select(array('id_ja','id_on','poznamka'))
->from($db->quoteName('#__lovefactory_poznamka'))
->where($conditions);
$db->setQuery($query);
$row = $db->loadRow();
$mujparametr=$row[2];
//$mujparametr='123456';
var_dump($mujparametr);
var_dump($row[2]);
$smarty->assign('prpozice', $mujparametr);
$smarty->display($layout . '.tpl');
}
else {
foreach ($this->get as $get) {
$this->$get = $this->get($get);
}
$this->sidebar = JHtmlSidebar::render();
ob_start();
parent::display($tpl);
$contents = ob_get_contents();
ob_end_clean();
$html = array();
$html[] = '<div id="j-sidebar-container" class="span2">';
$html[] = $this->sidebar;
$html[] = '</div>';
$html[] = '<div id="j-main-container" class="span10">';
$html[] = $contents;
$html[] = '</div>';
echo implode("\n", $html);
$viewHelp = new LoveFactoryViewHelp();
$viewHelp->render($this->getName());
}
$this->addToolbar();
return true;
}
v tpl souboru je
Code:
<div id="lovefactory-dialog" title="{jtext _='dialog_quickpoznamka_dialog_title'}">
<div class="lovefactory-dialog-quickpoznamka lovefactory-view">
<div class="lovefactory-dialog-content">
<form action="{jroute task='poznamka.send'}" method="post">
<table>
<tr>
<th><label>{jtext _='dialog_quickpoznamka_label_to'}</label></th>
<td>{$username}</td>
</tr>
<tr>
<th><label for="text">{jtext _='dialog_quickpoznamka_label_message'}</label></th>
<td><textarea rows="7" cols="12" id="text" name="message[text]" >{$prpozice}</textarea></td>
</tr>
</table>
<input type="hidden" name="message[user_id]" value="{$userId}">
</form>
</div>
<div class="lovefactory-dialog-buttons">
<a href="#" class="dialog-button dialog-button-submit ui-state-hover"><i class="factory-icon icon-poznamka"></i>{jtext _='dialog_quickpoznamka_button_submit'}</a>
<a href="#" class="dialog-button dialog-button-close"><i class="factory-icon icon-cross-button"></i>{jtext _='dialog_button_cancel'}</a>
</div>
</div>
</div>
pokud odkomentuji řádku //$mujparametr='123456';, tak se tato hodnota předvyplní, jinak ne,
Var_dump obou hodnot je stejné. Nemohou být v tom stringu nějaké znaky, které to tpl nebere?
20. říj 2015 16:18 #124061
Odpověď od Ernst
Joomla Expert
snad malý nápad pokud dám
tak to vypíše: 'to je dobr� restaurace'
tak snad nějaká chyba v kódování, ale nevím co s tím
Code:
$mujparametr='to je dobrá restaurace';
var_dump($mujparametr);
tak to vypíše: 'to je dobr� restaurace'
tak snad nějaká chyba v kódování, ale nevím co s tím
20. říj 2015 17:28 #124067
Odpověď od Cony
Moderátor
Špatnou diakritiku máte, protože soubor editujete asi ve win 1250, a ne v UTF. Ćíslic se to nedotkne. Zkuste úplně stejnou hodnotu, tak aby var_dump byl úplně stejný. Pokud nic jiného nezměníte, tak ob případy musí buď fungovat nebo nefungovat.
20. říj 2015 20:26 - 20. říj 2015 20:28 #124073
Odpověď od Ernst
Joomla Expert
tak znovu bermudský trojúhelník:
Výsledek var_dump
string '123456' (length=6)
string '123' (length=3)
povele se předvyplní pouze hopdnoutou prpozice proměnná prpoz jnic nepředvyplní (v tpl to samozřejmně měním
prostě se to chová nepochopitelně
Code:
$user = intval(JFactory::getUser()->id);
$on= intval($this->profile->user_id);
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$conditions = array($db->quoteName('id_ja') . ' = '.$user .' and '.$db->quoteName('id_on') . ' = '.$on);
$query->select(array('id_ja','id_on','poznamka'))
->from($db->quoteName('#__lovefactory_poznamka'))
->where($conditions);
$db->setQuery($query);
$row = $db->loadRow();
$mujparametr=$row[2];
$mujparametr='123456';
var_dump($mujparametr);
var_dump($row[2]);
$smarty->assign('prpozice', $mujparametr);
$smarty->assign('prpoz', $row[2]);
Výsledek var_dump
string '123456' (length=6)
string '123' (length=3)
povele se předvyplní pouze hopdnoutou prpozice proměnná prpoz jnic nepředvyplní (v tpl to samozřejmně měním
prostě se to chová nepochopitelně