Page 29 of 32

Posted: Sat 13. Oct 2007, 01:22
by breitsch
What about the TF fields in the main yust before {EXD_ITEMS}, then a block of EF's in the entry template

Example:

Main Template

Code: Select all

<div id="exd_head">{EXD_HEAD}</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="exd_navi">
 <tr>
  <td width="40%" align="left" class="exd_filter">{EXD_FILTER:1:no entries found:Text before DropDown:3:show all}</td>
  <td width="30%" align="right" class="exd_search">{EXD_SEARCH:Search:no entries found}</td>
  <td width="30%" align="right" class="exd_sort">{EXD_SORT:Sort by}</td>
</tr></table>
<table border="0" cellpadding="0" cellspacing="2" width="100%" class="exd_item">
  <tr>
   <td class="exd_field1">{TF1}</td>
   <td class="exd_field2">{TF2}</td>
   <td class="exd_field3">{TF3}</td>
   </tr>
{EXD_ITEMS}
</table>

Entry Template

Code: Select all

<tr>
    <!--start_cut1--><td class="exd_entry1">{EF1}</td><!--end_cut1-->
   <!--start_cut2--><td class="exd_entry2">{EF2}</td><!--end_cut2-->
   <!--start_cut3--><td class="exd_entry3">{EF3}</td><!--end_cut3-->
 </tr>
Note, that the <!--start_cut1--> is only rendered in the entry template.
So you should have fixed fields

Posted: Sat 13. Oct 2007, 03:14
by StudioZ
Thank you for your time and hint Breitsch :)
I am almost there now....

All data is being rendered horizontally and perfectly
except for the columns headers.
I have all the same demo data as you have at:
http://web.casa-loca.com/index.php?auto_filter

oh:shock: Now I can see that you have the same problem as me
or maybe you are in a testing process :roll:

Code: Select all

<div id="exd_head">{EXD_HEAD}</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="exd_navi">
 <tr>
  <td width="40%" align="left" class="exd_filter">{EXD_FILTER:1:no entries found:Text before DropDown:3:show all}</td>
  <td width="30%" align="right" class="exd_search">{EXD_SEARCH:Search:no entries found}</td>
  <td width="30%" align="right" class="exd_sort">{EXD_SORT:Sort by}</td>
</tr></table>
<table border="0" cellpadding="0" cellspacing="2" width="100%" class="exd_item">
  <tr>
   <td class="exd_field1">{TF1}</td>
   <td class="exd_field2">{TF2}</td>
   <td class="exd_field3">{TF3}</td>
   <td class="exd_field4">{TF4}</td>   
   <td class="exd_field5">{TF5}</td>   
</tr>
{EXD_ITEMS}
</table>


Let me tell you Breitsch:
This is a really awesome module for PhpWCMS and...
I sure hope Oliver will... at some point soon, pack it
in the official distro 8)

Gratitude,

Yves

Posted: Sat 13. Oct 2007, 03:24
by StudioZ
Just noticed that this code in the CSS listing, has no fill or hover effect on the table cells:

Code: Select all

.exd_row_bg_0 {
background: #ffffff;
}
.exd_row_bg_1 {
background: #DDDDDD;
}
.exd_row_hover {
background: #c3df56;
}

Posted: Sat 13. Oct 2007, 04:35
by DeXXus
StudioZ wrote:Just noticed that this code in the CSS listing, has no fill or hover effect on the table cells:
Just a guess, but maybe it's the case of the mouse events (onMouseOver, onMouseOut) in lines 1757, 1759, 1853, 1855?
IS

Code: Select all

       $listing_table .=  " class="exd_row exd_row_bg_1" onmouseover="this.className='exd_row exd_row_hover';" onmouseout="this.className='exd_row exd_row_bg_1';"";
       $listing_table .=  " class="exd_row exd_row_bg_0" onmouseover="this.className='exd_row exd_row_hover';" onmouseout="this.className='exd_row exd_row_bg_0';"";
            $listing_list .=  " class="exd_row exd_row_bg_1" onmouseover="this.className='exd_row exd_row_hover';" onmouseout="this.className='exd_row exd_row_bg_1';"";
            $listing_list .=  " class="exd_row exd_row_bg_0" onmouseover="this.className='exd_row exd_row_hover';" onmouseout="this.className='exd_row exd_row_bg_0';"";
TRY

Code: Select all

       $listing_table .=  " class="exd_row exd_row_bg_1" onMouseOver="this.className='exd_row exd_row_hover';" onMouseOut="this.className='exd_row exd_row_bg_1';"";
       $listing_table .=  " class="exd_row exd_row_bg_0" onMouseOver="this.className='exd_row exd_row_hover';" onMouseOut="this.className='exd_row exd_row_bg_0';"";
            $listing_list .=  " class="exd_row exd_row_bg_1" onMouseOver="this.className='exd_row exd_row_hover';" onMouseOut="this.className='exd_row exd_row_bg_1';"";
            $listing_list .=  " class="exd_row exd_row_bg_0" onMouseOver="this.className='exd_row exd_row_hover';" onMouseOut="this.className='exd_row exd_row_bg_0';"";

Posted: Sat 13. Oct 2007, 04:57
by StudioZ
Thank you DeXXus but... no success ... :roll:

Here's what I have in my private template:

Main Template Listing:

Code: Select all

<div id="exd_head">{EXD_HEAD}</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="exd_navi">
 <tr>
  <td width="40%" align="left" class="exd_filter">{EXD_FILTER:1:no entries found:Text before DropDown:3:show all}</td>
  <td width="30%" align="right" class="exd_search">{EXD_SEARCH:Search:no entries found}</td>
  <td width="30%" align="right" class="exd_sort">{EXD_SORT:Sort by}</td>
</tr></table>
<table border="0" cellpadding="0" cellspacing="2" width="100%" class="exd_item">
  <tr>
   <td class="exd_field1">{TF1}</td>
   <td class="exd_field2">{TF2}</td>
   <td class="exd_field3">{TF3}</td>
   <td class="exd_field4">{TF4}</td>   
   <td class="exd_field5">{TF5}</td>   
</tr>
{EXD_ITEMS}
</table>
Entry Template [entry-template]:

Code: Select all

<tr>
   <!--start_cut1--><td class="exd_entry1">{EF1}</td><!--end_cut1-->
   <!--start_cut2--><td class="exd_entry2">{EF2}</td><!--end_cut2-->
   <!--start_cut3--><td class="exd_entry3">{EF3}</td><!--end_cut3-->
   <!--start_cut4--><td class="exd_entry4">{EF4}</td><!--end_cut4-->
   <!--start_cut5--><td class="exd_entry5">{EF5}</td><!--end_cut5-->
</tr>
Private Template css-file [css-file]:

Code: Select all

/*Head - div id="exd_head" - Category Name - /div*/
#exd_head, .exd_head {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 9pt; /*pt | px | em | %*/
font-weight: bold; /*normal | bold | inherit*/
color: #333333; /*color-value | inherit*/
line-height: 150%; /*height in px,em | %*/
background: transparent; /*color-value | transparent*/
/*for seperate border values write: border-top|boder-right|border-bottom|border-left*/
border: 0px solid #000000; /*width form color-value*/
margin: 0px 0px 0px 0px; /*top | right | bottom | left*/
padding: 5px 0px 5px 0px; /*top | right | bottom | left*/
width: 100%; /*px | % | auto | inherit*/
}
/*Main Background for all - div id="exd_items" ... /div*/
#exd_items, .exd_items {
background: #FFFFFF;
padding: 1px;
width:100%;
}

/*Navigation-Container - div id="exd_navi" - all the elements in table - /div*/
#exd_navi, .exd_navi{
background: #FFFFFF;
}
/*Page Numbers - div id="exd_page" - table with paging - /div*/
#exd_page, .exd_page {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 7pt;
padding: 5px;
background: #FFFFFF;
text-align: left; /*left | center | right - alignment in div-container*/
}
/*Page Statistics - div id="exd_stats" - text - /div*/
#exd_stats, .exd_stats {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 7pt;
padding: 3px;
color:#000000;
background: #FFFFFF;
text-align: left; /*left | center | right - alignment in div-container*/
}
/*Sort-Function - div id="exd_sort" - text [Drop-Down class="exd_dd"] - /div*/
#exd_sort, .exd_sort {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 7pt;
padding: 3px;
/*margin-right: 0px;*/
text-align: right; /*left | center | right - alignment in div-container*/
}
/*Filter-Function in Dropdown - div class="exd_filter" - text [Drop-Down class="exd_dd"] - /div*/
#exd_filter, .exd_filter {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 7pt;
padding: 3px;
text-align: left;
}
/*Filter-Function Menu div id="exd_filtermenu" - ul-li-/li-/ul - /div*/
#exd_filtermenu, .exd_filtermenu {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 7pt;
padding: 3px;
background: #FF4488;
text-align: left;
}
/*Filter-Function Menu - ul*/
#exd_filtermenu ul{
margin-left: 0px; /*put it to left side*/
}
/*Filter-Function Menu - li*/
#exd_filtermenu ul li{
display: inline; /*block(vertical) | inline(horizontal)*/
padding: 5px;
}
/*Search-Function - div id="exd_search" - [Textfield class="exd_txt"][Button class="exd_but"] - /div*/
#exd_search, .exd_search {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 7pt;
padding: 3px 3px 3px 5px;
text-align: center;
}
/*Textfield*/
.exd_txt{
font-size: 7pt;
color:#c6c6c6;
background:#636363;
border:1px solid #000000;
}
/*Buttons*/
.exd_but{
font-size: 7pt;
/*color:#c6c6c6;
background:#636363;
border:1px solid #000000;*/
}
/*Dropdowns*/
.exd_dd{
font-size: 7pt;
color:#c6c6c6;
background:#636363;
border:1px solid #000000;
}

/*Entries - table width="100%" class"exd_item" ... /table*/
#exd_item, .exd_item {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 7pt;
padding: 3px;
background: #FFFFFF;
border:1px solid #CDCDCD;
margin-bottom: 5px; /*divides the entries in list-layout*/
}
/*acces to the table*/
#exd_item, .exd_item {
border-spacing:2px;
}

/*Field-Title - extract number to change css for this number*/
.exd_field, .exd_field1, .exd_field2, .exd_field3, .exd_field4, .exd_field5, .exd_field6, .exd_field7, .exd_field8, .exd_field9, .exd_field10, .exd_field11, .exd_field12, .exd_field13, .exd_field14, .exd_field15, .exd_field16, .exd_field17, .exd_field18, .exd_field19, .exd_field20, .exd_field21, .exd_field22, .exd_field23, .exd_field24 {
font-weight: bold;
color:#c6c6c6;
background: #636363;
width: 100px; /*min. value for width*/
padding: 3px;
border: 1px solid #000000;
vertical-align: top;
}
/*Field-Titel-Link - if Sort by Field-Titels*/
.exd_field a {
color:#FF0000;
}
/*Example for extracted field (in preview nr)*/
.exd_field_nr {
background: #FFCC99;
color#000000;
padding: 3px; 
border: 1px solid #000000;
vertical-align: top;
}

/*Field Entry - extract number to change css for this number*/
.exd_entry, .exd_entry1, .exd_entry2, .exd_entry3, .exd_entry4, .exd_entry5, .exd_entry6, .exd_entry7, .exd_entry8, .exd_entry9, .exd_entry10, .exd_entry11, .exd_entry12, .exd_entry13, .exd_entry14, .exd_entry15, .exd_entry16, .exd_entry17, .exd_entry18, .exd_entry19, .exd_entry20, .exd_entry21, .exd_entry22, .exd_entry23, .exd_entry24 {
/*background: #C5C5C5; comment out if row colors active!*/
padding: 3px;  
border: 1px solid #CDCDCD;
vertical-align:top;
/*width: 100px;*/
}
/*Link in entries*/
.exd_entry a {
color:#FF0000;
}
/*Example for extracted field*/
.exd_entry_nr {
background: #FFFFFF;
padding: 3px;
border: 1px solid #DDDDDD;
/*width: 100px;*/
vertical-align:top;
}
/*Filed-Titel-Link - if Sort by Filed-Titels*/
.exd_entry a {
color:#000000;
}

.exd_row{}
.exd_row_bg_0 {
background: Yellow;
}

.exd_row_bg_1 {
background: #DDDDDD;
}

.exd_row_hover {
background: #c3df56;
}
Now... my replacement tag:

Code: Select all

{EXDPRIV:1:py_04.main.tmpl:py_04.entry.tmpl:py_04.css:0:3;;}
Just you get the complete stuff with which I am fiddling :wink:

Cheers,

Yves

Posted: Sat 13. Oct 2007, 13:34
by breitsch
StudioZ wrote:I need to make the data show horizontally in columns
like here:
http://web.casa-loca.com/index.php?auto_filter
So, first of all, why not using the auto-template-RT?
The example is done with auto template

by the way, the row-highlight-effect will not work in private templates, only the auto-templates support this effect

for the missing rendering of titlefields in the main-(private)-templates i'll post a workaround till tomorrow. But only the rendering, it will not check the values for invisibility and so on. For this you should use the auto-template-rt

Posted: Sat 13. Oct 2007, 16:15
by StudioZ
No problems Breitsch 8)
From now on I will simply use the auto-template-RT?

ExData Module is already so powerful with Flash Charts,
Moo.FX, GoogleMap :D :D :D
You have changed the way I see datas :wink:
I am so happy I jumped in this ExData bandwagon :D
Imagine how easy it is now to create any kind of directories
:D :D :D :D :D

Congrats and respect 8)

Yves

Posted: Sun 14. Oct 2007, 12:32
by breitsch
@StudioZ

To show the column headers placed in main-(private)-template
open: mod_exdata/inc_front/func.inc.php

find row 341: //end statistics

add after

Code: Select all

//render main-template titlefields
      $fieldname=$exd->fieldname; //set record
      for ($m = 1; $m <= 24; $m++) {
          $template = str_replace("{TF".$m."}", $fieldname['field'.$m.''], $template);
		    }
		  //end render main-template titlefields
This will render the RT {TF#} placed in the main-private-templates.
But you must have the correct numbers there, the script does not check for empty values, invisible fields an so on in this case.

Posted: Sun 14. Oct 2007, 20:01
by StudioZ
Thank you for that tweak Breitsch :)

Cheers,

Yves

Editing data

Posted: Sat 10. Nov 2007, 16:46
by intermedion
This is a great module! Is it possible to edit the table data in the front end :?:

Re: Editing data

Posted: Sun 11. Nov 2007, 17:55
by breitsch
intermedion wrote:Is it possible to edit the table data in the front end
No, not possible. Security reasons.
Maybe it'll be integrated in future releases with fe-login. (add/edit/delete/upload) But no schedule at the moment

Posted: Wed 19. Dec 2007, 00:07
by 360fusion
Hi,

I can't believe it has taken me so long to get into this module. It is pure genius! thank you Breitsch for taking time to develop this.

I do however have a few questions and one problem.

the problem is that when i create a a fieldname for 'Contact' and use the Field Content for 'link & email' it all works fine and i can add an email address and link in the form, but when i try and edit the form in 'ExData Entries Area' and Edit for all entries' it deletes all email data when i save. I then have to enter all the details again individually. Is this something i've done by not setting it up properly or does anyone else have this problem?

the questions are:
what are the plans for this module?
will there be a version made that doesn't need to hack core code?
will Olive include this in the next version?

Thanks
Ben

Posted: Wed 19. Dec 2007, 12:58
by breitsch
360fusion wrote: Edit for all entries' it deletes all email data when i save.
Sounds like a bug, never testet that. I'll have a look at this.
360fusion wrote:the questions are:
what are the plans for this module?
will there be a version made that doesn't need to hack core code?
2 questions 1 answer: I plan to rewrite it and make it a real plug-in. So there won't be any RT's anymore, just normal contentparts. And, of course, no need to hack core code.
360fusion wrote:will Oliver include this in the next version?
No, I don't think so! It's a module and nothing else/more. When it'll be a real plug-in there is no need to include it in the cms.

Other plans, but NO shedule
- kick the 24 fields limitation
- when google maps plugin is finished ExData will be connected to that, so the section Google Maps in ExData will be kicked and the plugin Google Maps will be used for map creation.
- when shop plugin is finished ExData will be connected to that.
- when user management is released ExData could become a backend/frontend solution with access to the database fom frontend.
- connect ExData to the lightbox-extension of the core cms. No need to handle that seperately in ExData
- much more AJAX in backend to make the handling easy and clear

Posted: Wed 19. Dec 2007, 13:46
by 360fusion
Hi Breitsch,

Thanks for your quick reply and detailed response. The future of this module looks pretty impressive and I'm looking forward to the next release.
- when Google maps plug in is finished ExData will be connected to that, so the section Google Maps in ExData will be kicked and the plug in Google Maps will be used for map creation.
Will the Google maps module be able to display information from ExData still? say if i created a real estate website with a property catalogue and wanted to display where the properties were and show the property teaser details in the Google map pop up.

Thanks again
Ben

Posted: Wed 19. Dec 2007, 14:28
by breitsch
yep!
XML interface is planned for the modules to communicate together

BUT! not today and not tomorrow! (well, time shedule depends on donation, I'm just a human!)