List item editing through the frontend

Status
Not open for further replies.

poni

Member
How can I, in frontend, as a registered user,changing or adding list element("show in list"and "pre-filters" options).Can I reached the menu item editing through the frontend.Is it possible.
Thanks!
 
I think the closest you can get to that functionality is to enable the advanced search and allow toggle of list columns.
 
Edit your list and go to the details section. Under the Filter tab, it is the toggle columns setting. Looks like front end users can hide/show individual columns or entire groups.
 
I have Joomla 2.8 and Fabrik 3.0.7.,but I can't find that things you tell me.Sorry.

Sorry,I find that, but this is the same what we have in menu manager.Some kind of query isn't
possible in Fabrik. Choosing or sorting columns is possible only in "Export in CSV"

Thanks anyway
 
As the WIKI says:
Make a clone of the List template upon which you want to base your modified template.
First of all we want to create a list of checkboxes that will toggle on/off the table columns. You have to put this code in the default.php file:
...
Then we want to write some js code to observe each of the checkboxes and show/hide the columns content. Again, you put this code in the same file as the php code (default.php).
 
As the WIKI says:
Make a clone of the List template upon which you want to base your modified template.
First of all we want to create a list of checkboxes that will toggle on/off the table columns. You have to put this code in the default.php file:
...
Then we want to write some js code to observe each of the checkboxes and show/hide the columns content. Again, you put this code in the same file as the php code (default.php).

OK, I did all that(made bluesky2 template),and put all in default.php(and site's template CSS),but there is nothing happened.I have checkboxes(all looks fine),and can select them,and unselect,but when unselect some,and refresh,the number of column stayed the same,and nothing happened.
I suppose,this could be worked asd some query tool in front-end(I choose table column in frontend)but nothing happened.
Perhaps,must I something disable or enable in table setting,or what.
Where I made ??a mistake.Please help.
Joomla 2.5 , Fabrik 3.0

Thanks!
 
There's nothing to put in any CSS file to get the basic function:
php code and javascript code are going into default.php.

List columns should show/hide without page reload.
 
javascriptoptions.GIF
Again, nothing.
Perhaps,must I something disable or enable in javascript options.
I see in "javascript" code for FABRIK 3.0 a word "domready".Must I enabling
something with these library(DOM pdf library).
Thanks!
 
View attachment 11145

Perhaps,must I something disable or enable in javascript options.
I see in "javascript" code for FABRIK 3.0 a word "domready".Must I enabling
something with these library(DOM pdf library).
Thanks!
Has anyone checked on self computer that scripts.It doesn't works on my PC-s at home,and
no work in the firm PC.I don't now what to said.It is one of crucial things in DB I done (if this is possible). There are some conditions (probably),but I don't now where,or what.:(

Many Thanks!
 
Can you post the code (php and JS) you've added to your default.php?
There is a code from:
/components/com_fabrik/views/list/tmpl/bluesky2/default.php

<?php
/**
* Fabrik List Template: Bluesky
*
* @package Joomla
* @subpackage Fabrik
* @copyright Copyright (C) 2005 Fabrik. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*/

// No direct access
defined('_JEXEC') or die;

if ($this->tablePicker != '') : ?>
<div style="text-align:right"><?php echo JText::_('COM_FABRIK_LIST') ?>: <?php echo $this->tablePicker; ?></div>
<?php
endif;
if ($this->getModel()->getParams()->get('show-title', 1)) :?>
<h1><?php echo $this->table->label;?></h1>
<?php endif;?>

<?php echo $this->table->intro;?>
<form class="fabrikForm" action="<?php echo $this->table->action;?>" method="post" id="<?php echo $this->formid;?>" name="fabrikList">
<?php
echo $this->loadTemplate('buttons');
if ($this->showFilters) :
echo $this->loadTemplate('filter');
endif;

/*
* For some really ODD reason loading the headings template inside the group
* template causes an error as $this->_path['template'] doesnt cotain the correct
* path to this template - go figure!
*/

$this->headingstmpl = $this->loadTemplate('headings');
$this->showGroup = true;
?>
<div class="fabrikDataContainer">
<?php foreach ($this->pluginBeforeList as $c) :
echo $c;
endforeach;?>
<div class="boxflex">
<table class="fabrikList" id="list_<?php echo $this->table->renderid;?>" >
<tfoot>
<tr class="fabrik___heading">
<td colspan="<?php echo count($this->headings);?>">
<?php echo $this->nav;?>
</td>
</tr>
</tfoot>
<?php
$gCounter = 0;
foreach ($this->rows as $groupedby => $group) :
if ($gCounter == 0) :
echo '<thead>' . $this->headingstmpl . '</thead>';
endif;
if ($this->isGrouped) :
$this->groupHeading = $this->grouptemplates[$groupedby] . ' ( ' . count($group) . ' )';
echo $this->loadTemplate('group_heading');
endif; ?>
<tbody class="fabrik_groupdata">
<tr>
<td class="groupdataMsg" colspan="<?php echo count($this->headings)?>">
<div class="emptyDataMessage" style="<?php echo $this->emptyStyle?>">
<?php echo $this->emptyDataMessage; ?>
</div>
</td>
</tr>
<?php
foreach ($group as $this->_row) :
echo $this->loadTemplate('row');
endforeach;
?>
<?php if ($this->hasCalculations) : ?>
<tr class="fabrik_calculations">
<?php
foreach ($this->calculations as $cal) :
echo "<td>";
echo array_key_exists($groupedby, $cal->grouped) ? $cal->grouped[$groupedby] : $cal->calc;
echo "</td>";
endforeach;
?>
</tr>

<?php endif; ?>
</tbody>
<?php
$gCounter++;
endforeach;

$this->showGroup = false;
for ($x = $gCounter; $x < $this->limitLength; $x ++) :
$this->groupHeading = 'hidden ' . $x;
echo $this->loadTemplate('group_heading');
echo '<tbody class="fabrik_groupdata" style="display:none"></tbody>';
endfor;
?>
</table>
<?php print_r($this->hiddenFields);?>
</div>
</div>
</form>
<?php echo $this->table->outro;?>
<script><!--
window.addEvent('domready', function(){
//check initial state
$$('.togglecolumns').each(function(i){
if(i.getProperty('checked')){
$$('.'+i.value).setStyle('display', );
} else {
$$('.'+i.value).setStyle('display', 'none');
}
});
$$('.togglecolumns').addEvent('click', function(e){
e = new Event(e);
var i = $(e.target);
if(i.getProperty('checked')){
$$('.'+i.value).setStyle('display', );
} else {
$$('.'+i.value).setStyle('display', 'none');
}
});
});
--></script>
<ul class="ulcustom">
<?php
foreach ($this->headings as $key=>$label) {
if (substr( $key, 0, strlen('fabrik_')) !== 'fabrik_'){
?>
<li class="licustom">
<label>
<input type='checkbox' checked="checked" value='<?php echo $key?>' class='togglecolumns' />
<?php echo strip_tags($label) ?>
</label>
</li>
<?php
}
}?>
</ul>
 
It seems the WIKI example has been mixed up by some formatting tags.
Change the 2 lines in the script ()
$$('.'+i.value).setStyle('display','' );
 
It seems the WIKI example has been mixed up by some formatting tags.
Change the 2 lines in the script ()
$$('.'+i.value).setStyle('display','' );

I changed these 2 lines ,and set code like in WIKI example,but nothing hapened.
Joomla 2.5 Fabrik 3.0.9.
 
Status
Not open for further replies.
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top