-
Posts
378 -
Joined
-
Last visited
-
Days Won
1
Everything posted by MuchDev
-
So what I will be importing is all of their current data from their website which before parsing looks like this ackroyd-minster.jpg,Norman Ackroyd,Minster Lovell - Oxfordshire, 1992,Etching, aquatint. Edition of 90,23-1/2 x 29-1/2 inches,$1,500 This will be around 10,000 artworks possibly more if I can ever get their in house database to give me any sort of usable data set. All of the data is roughly coma separated so I will be using csv importer to bring the records into processwire.
- 28 replies
-
- ajaxProgressiveSearch
- custom search
-
(and 1 more)
Tagged with:
-
Well it looks as if you nailed the heart of my problem, I'm not using enough page fields. As a side note how would I go about batch importing and relating a large amount of data by using a page field method? Is this something that batcher is well suited to?
- 28 replies
-
- ajaxProgressiveSearch
- custom search
-
(and 1 more)
Tagged with:
-
What an awesome piece of reading, for this I will kill a tree and sip my coffee. Thank you for your hard work . At the moment the artworks can be categorized under an optional generic template called section. This is pretty much just to break the display of items up and allow for subheadings within the display of an artist's works. This works but none of the items would then have any other category other than the department that they live in and the artist that they are made by (from a page tree perspective). I have just been determining this by an if else check on the parent. I really would like to make the site more categorized and I think you sent me all of the answers right there.
- 28 replies
-
- 1
-
- ajaxProgressiveSearch
- custom search
-
(and 1 more)
Tagged with:
-
I appreciate your strait forwardness. It's really nice to see quality direct answers. As far as doing 2 search engines, I fear that if I were to attemp this I would end up with something that would not be very usable, unless I could find an example of someone who had done it sucessfully already. Most everything that I am using or building is based on others examples and books. Now...If this were to be a module I think I could work some magic This is a fantastic point reems! I should have thought of this. So right now if you were to want an item in both categories you would need to make a duplicate page. So to get around this I suppose I will throw the option for a page field in to exhibitions so that artwork can be added from other areas of the site, how does that sound? Yes! What he said! Module, yes
- 28 replies
-
- ajaxProgressiveSearch
- custom search
-
(and 1 more)
Tagged with:
-
This is all very interesting as the site that I am currently building will need a boatload of redirects to new paths. Im sorry for jumping in the middle of this but is there any way to combine batcher with the redirect module so that an entire site could be migrated?
-
Thanks for all the response! All of this is really helping me to wrap my head around this. So the site that I am building is for an art gallery that my partner works for. On the site will be a combination of blogging for events, pdfs for catalogs (which are just downloadable and not necessary searchable), exhibitions which hold artworks and text writeups, and all of their current inventory for browsing. The site is layed out very hierarchical with all the sections nested like so: (I'll follow your formatting example) Exhibitions | +--Antique | | | exhibition---+ | +--artwork (same item type as in exhibitions) | +--artwork | +---Modern | | | exhibition---+ | +--artwork | +--artwork | | +---Contemporary | exhibition---+ +--artwork +--artwork Artists | +--Antique | | | section------+ | +--artwork | +--artwork | +---Modern | | | artist-------+ | +--artwork | +--artwork | | +---Contemporary | artist-------+ +--artwork +--artwork News | +--Antique | | | article------+ | +--page1 | | | | +---Modern | | | article------+ | +--page1 - html from ckedit | +--page2 - html from ckedit | | +---Contemporary | article------+ +--page1 - html from ckedit +--page2 - html from ckedit So what really needs to be filtered would be all of the special fields that are within the artwork like price, medium, dimensions, origin etc. As well as text fields that will hold specific information about events. Artists contain basic information and a thumbnail for a preview as well as biographical informaion (yet more text). Would you recommend google over a processwire solution for my example? Thanks BernhardB elastic does look very powerful but I don't know if I have the chops to pull it off. After a two week hair pulling session with trying to get solr to work on another project I am a little adverse to setting this up. Do you happen to know much about elastic? Hey thanks reems, I originally thought about setting up solr as it seems to have exactly what I wanted but got completely confused. I applaud you for having the brains to get it working. I really wish that there was a more beginner method for implementing but everything I've found was exactly as you said, not easy to implement. What I am hoping to present the user with is a simple form with one input box, exactly like he has on the skyscraper, but combine that with the ability to search text without overloading the user.
- 28 replies
-
- ajaxProgressiveSearch
- custom search
-
(and 1 more)
Tagged with:
-
Hey friends! Well I am finally to the part of my development where I need to begin thinking hard about implementing some form of advanced search. I am a bit of a newbie so please forgive me for asking such a general question. Up until now I have been able to see quite clearly where this project is going. I have all of the items defined that I will be using and I also have all of my main sections mostly fleshed out, what I do not have is anything other then ajax searching and the basic search.php template (with a couple extra fields defined). I have read several form posts about specific advanced search features, but I was hoping for something a bit more general and I would just code from there. What I would like some insight on is where should I start in the development of an advanced search interface, what methodologies do people implement when producing a site wide search, and finally are there any really good tools that would make my life easier in this process? Any info is extremely appreciated.
- 28 replies
-
- ajaxProgressiveSearch
- custom search
-
(and 1 more)
Tagged with:
-
Well after doing some head scratching I've decided that I will just be doing the display programatically. I have created a sub-section template that is the parent of other artworks. This will allow me to interupt the display order and move the items within the backend. I think this will end up making more sense to anyone who chooses to try and update this beast, hows this look? $items = $page->children; foreach($items as $item){ $generated = false; //Remember to not return any tags in the string if no information has been returned. //option 1 - one is an item and then just print it. if ($item->template->name === 'items'){ $gridSizer = $item->gridSizer; echo generateItem($item,$gridSizer); $generated = true; } //option 2 is a subsection. Print 100%width divider with text areas if ($item->template->name === 'itemsSection'){ echo "<div class='grid-item masonrySection col-xs-12'>"; if ($item->subsection_description){ echo "<p>{$item->subsection_description}</p>"; } echo "</div>"; foreach ($item->children() as $subitem){ $gridSizer = 1; if ($subitem->gridSizer){ $gridSizer = $subitem->gridSizer; } echo generateItem($subitem,$gridSizer); } } }
-
As always every response on this forum contains useful information, I thank you for convincing him to add it, this is a totally useful feature for this module. Sounds like I should just get the module from the dev branch as I would most likely need to navigate over the children of children on some items that contain extra pages to separate sections on a artist page. Thank you again, I'll post back with results!
-
Yes, and for some strange reason it is just breaking the field.
-
So now that I have found PageSelectMultiple I found another use. I would like to use it on a parent page named Artist. The page has all of their basic information and here I thought would be nice to try to implement a picker to choose all of the artworks that are children of the artist page. I tried to change the selector in the php area to $page->children before I read the warning that it is not compatable. Any way that I could get the same functionality while only having the view scoped to the children of that page? Also as a side note, I have managed to break the field all together and am now met with this friendly error when I open the field to edit it. Recoverable Fatal Error: Argument 1 passed to InputfieldPage::___findPagesCode() must be an instance of Page, none given (line 168 of /home/swflemin/public_html/dg/wire/modules/Inputfield/InputfieldPage/InputfieldPage.module)
-
Absolute GENIUS!! K yes PageSelectMultiple is exactly what I want. Populate a box with a list of pages and be able to drag em around! So cool. Thanks so much for pointing this fantastic tool out. This is going to be so useful.
-
Hey thanks for the reply Adrian! That sounds like a great idea. In my own ignorance I hadn't even thought about using this. I will give this a try tonight and see if it does what I am wanting. Mostly what I want is the ability to pull all items in my site that are "featured" on to the homepage, but those featured pages also are individually shown in different sub sections by adding a parent=.The items are displayed at many different user selected sizes so they need to be moved out of the order that they just automatically display in my loop so this will have to be manually fiddled with by the client so they all fit perfectly in the grid.
-
Hey there. So I am currently working out a loop that pulls a list of items from three separate parent pages. This all works perfectly except I would like to change the order that they are pulled in to the loop without re organizing the pages themselves as they are nested under three separate categories. Is this something I could use a selector with and possibly provide the client the ability to manually re-organize the order of the items that are being displayed. $featuredPages = $pages->find('template=Exhibition, Exhibition_Featured=1'); foreach ($featuredPages as $featuredItem){ //doin stuff }
-
3 cols of featured content - best practice
MuchDev replied to Peter Knight's topic in Getting Started
Yeah thats what I meant, sorry late night. So anyway check that module out an give it some tinkering. Its an amazing tool. -
3 cols of featured content - best practice
MuchDev replied to Peter Knight's topic in Getting Started
So Im a pretty big fan of the thumbnail generator. You can change image field to use it and then the field will act exactly the same except then you can talk to it like this. Just define that thumbnail is the resolution of the thumbnail that you want to use. Then if you want to be extra safe from the medling hands of your client add a class to your css: .medlingClient{ width:330px; height:158px; } <img class="medlingClient" src={$featured->images->first()->getThumb('thumbnail')} /> How's this look? -
Never mind, i like it the way it is. Sorry Delete me please
-
3 cols of featured content - best practice
MuchDev replied to Peter Knight's topic in Getting Started
//=======================================================// // MAGICAL BOOTSTRAP DIV GENERATOR // // COPYRIGHT 2014--MUCHDEVELOPMENT.COM // //=======================================================// //Settings page has integer box to override image width \\\ if ($page->ImageWidthOverride){ $imageWidth = $page->ImageWidthOverride; } else { $imageWidth = 400; } $bootstrapDivs = ""; $generateFeatured = true; if($featuredCount>=5){ $bootstrapDivs = "col-sm-2"; $blankColumn = "<div class='col-sm-1'></div>"; }else if ($featuredCount == 4){ $bootstrapDivs = "col-lg-3 col-sm-5"; $specialWrapperStart = "<div class='specialCenter'>"; $specialWrapperEnd = "</div>"; }else if ($featuredCount == 3){ $bootstrapDivs = "col-sm-4"; }else if ($featuredCount == 2){ $bootstrapDivs = "col-sm-6"; $specialWrapperStart = "<div class='specialCenter'>"; $specialWrapperEnd = "</div>"; }else if ($featuredCount == 1){ $bootstrapDivs = "col-xs-12"; $specialWrapperStart = "<div class='specialCenter'>"; $specialWrapperEnd = "</div>"; }else{ $generateFeatured = false; } $top .= '<section class="container articles">'; //$top .= '<div class="spacer"></div>'; $top .= '<div class="spacer"></div>'; $top .= $blankColumn; foreach ($featuredPages as $article){ $thisImageWidth = $imageWidth; if ($article->specialWidth){ $thisImageWidth = $article->specialWidth; } $top .= $specialWrapperStart; $top .="<div class='{$bootstrapDivs} articleholder'>"; $top .='<div class="article">'; $top .="<strong class='articleCardTitle'>{$article->title}</strong>"; $top .="<div class=''><img class='exhibitionFeaturedCardImg' src='{$article->article_thumbnails->width($thisImageWidth)->url}'></div>"; $top .="<div col-xs-12><strong class='cardName'>{$article->article_metadescription}</strong></div>"; $top .="<p>{$article->article_dateOpen}</p>"; //$top .="<p>{$article->article_introtext}</p>"; $top .="<a class='btn btn-default' href='{$article->url}'><strong>Click here to view this exhibition</strong></a>"; $top .="</div>"; $top .="</div>"; $top .= $specialWrapperEnd; }//end of featured loop $top .= $blankColumn; $top .='</section>'; $top .='<hr/>'; $top .=''; echo $top; }//end of if generateFeatured //end of featured So by counting how many there are I then print the div structure using this for my logic. A bit messy and not quite everything, but I thought it was pretty cool. Oh and dont worry, they copyright is a joke, use it if you find any use for it -
3 cols of featured content - best practice
MuchDev replied to Peter Knight's topic in Getting Started
Also something that I have been working on is the option to allow the client to change their mind and decide that maybe this month they want 4 or 6 featured items. In that case you can just take all, count them and run an if else decision to allow for different div layouts. I am up to 6 different main layouts with special blocker divs for odd numbered layouts. Let me know if you need any sample code to get you goin -
Thank you, seo is just such an in depth topic that I understand little about. I Just worry that I will finish the site and no matter what I do my site will still not show up on google. I thought there may be some sort of insider tricks to make managing processwires structure to be more seo friendly
-
So Im not quite sure what I'm doing wrong here but Im having a hard time getting a value to show up. I have 4 options: 1:=1 block 2:=2 blocks 3:=3 blocks 4:=4 blocks now if I save the value in the page to say option 2 or 2 blocks when I choose $page->itemGridSizer I recieve no output. Is that the correct syntax? edit: I jsut treid to set it to 1 2 3 4 and still no dice, is this a bug or just something I'm doing wrong? **final edit** After some serious tinkering I coaxed my code into working. It turned out that for some reason the included code did not have access to the field, and I just needed to pass my function the variable. php noob mistake sorry for the junk On a side note this plugin is awesome!! I needed something that would allow me to let the client choose one of four bootstrap layouts to use with my masonry javascript and it really blew em away! I love processwire, and I thank you for making such a useful tool.
-
On a roll what a great topic! I would love to see this expanded into other areas as well. I am still trying to grasp the concepts behind seo. Is there any plan for a seo type cheatsheet? Like how to form titles and meta tags, img, links and such?
-
Wanting To Create A Page Of Page Links Formatted.
MuchDev replied to MuchDev's topic in General Support
So I ended up fidling all day and I am happy with the results Just took a bit of looping, really tested my skills:) Here is a code chunk to get you goin //this block counts artists in relevant category based on $dept var set above. //it then will set the amount to be shown per column and how many columns to display based on count if ($dept = "Contemporary"){ $select = "artwork_dept=/departments/contemporary/"; $count = count($pages->get("/artists/contemporary/")->children($select)); $initCount = $count; $entriesper = ceil($count / 4);//entries per line $artists = $pages->get("/artists/contemporary")->children($select); $artists = $artists; echo $entries; }elseif ($dept = "Modern"){//todo make the actually work $count = count($pages->get("/artists/modern/")->children("artwork_dept=/departments/modern/")); }elseif ($dept = "Antique"){//todo make the actually work $count = count($pages->get("/artists/modern/")->children("artwork_dept=/departments/antique/")); } //grab chunks of artists $i = 1; $firstInRow = 0; $mod = $count / $entriesper; while($i<$entriesper){ $out .= '<div class="col-md-3">'; $sliced = $artists->slice($firstInRow,$entriesper); $firstInRow += $entriesper; $out .= '<ul class="artist list">'; foreach($sliced as $artist){ if ($artist->artist_featured_image->url){ $img = $artist->artist_featured_image->width(175)->url; } $fullname = ""; $fullname = $artist->artist_firstname.' '.$artist->artist_lastname; $link = $artist->url; $out .= '<li><a title="'.$fullname.'" class="preview" href="'.$link.'" rel="'.$img.'" >'.$artist->artist_firstname.'<strong> '.$artist->artist_lastname.'</strong></a></li>'; } $out .= '</div>'; $i++; } $out .= '</div>';//end row echo $out; ?> -
So I have found nearly exactly what I am looking for in a pretty old post, but was wondering if someone had a new way that possibly utilized pagination to format a full list of titles. https://processwire.com/talk/topic/1141-multiple-lists-and-loops-into-dynamic-reusable-piece-of-code/ Currently I have a page selector that I am using to select specific "artists". I am attempting to create a very simple list view where I return some of the fields from the pages that have the pagefield as "contemporary" as a link and a rel tag for an image. If I point this to the contemporary section I will recieve 83 results. What I would like to do is simple, if in this case there are 83, then I would like 21 per column, in its own div. any mathys out there wanna help me make a loop? Thanks in advance $out = ""; $pos = 0; //current position in list $out .= '<div class="row">'; //this block counts artists in relevant category based on $dept var set above. //it then will set the amount to be shown per column and how many columns to display based on count if ($dept = "Contemporary"){ $select = "artwork_dept=/departments/contemporary/"; $count = count($pages->get("/artists/")->children($select)); $initCount = $count; $entries = round($count / 4);//entries per line $artists = $pages->get("/artists/")->children($select); $artists = $artists->reverse(); echo $entries; } //grab chunks of artists and loop them in roughly equal amounts $rows = 7; $totalCount = count($jurisdictionsPageChildren); $rowCount = ceil($totalCount / $rows); $mod = $totalCount % $rows; // this will tell us how many rows will have more pages than the others $firstInRow = 0; $i = 1; while ($i <= $rows){ $mainContent .= "<div class='columns six"; if($i == 1) $mainContent .= " alpha"; if($i == $rows) $mainContent .= " omega"; $mainContent .= "'>"; if($i <= $mod){ // do this when we want one more page on the row $sliced = $jurisdictionsPageChildren->slice($firstInRow, $rowCount); $firstInRow += $rowCount; }else{ // do this when we want one less page on the row $sliced = $jurisdictionsPageChildren->slice($firstInRow, $rowCount-1); $firstInRow += $rowCount-1; } foreach($sliced as $p){ $mainContent .= "<h2><a$class href='{$p->url}' title='{$p->title}'>{$p->title}</a></h2>"; } $mainContent .= "</div>"; $i++; } Here is the sample from the original link for reference.
-
Hey thanks Pete! So the reason for the bad post I am realizing now that I've re read it, is that I accidently hit the back button while I was in the middle of writing it. So let me attempt to explain my goal here. I have been working on developing a theme for omeka that will assist me in creating a full product database for a large (up to 10,000 piece) collection of art works. Omeka was originally created as a system to display digital collections for museums and institutions, therefore each item is able to be tagged and labled, then sorted among these fields. The main feature of Omeka that has drawn me to it is its ability to quickly and easily add new works, this way the people who work there can easily add a new item or large set of items through the simple web interface. Another big draw is that there is a plugin that works directly with Apache Solr. So I suppose to clarify why im approaching the task this way is firstly I am pretty green when it comes to development and the largly undocumented nature of Omeka. Due to these facts I have been trying to accomplish my end goal as simply as I can manage. I really like sound of creating a pw plugin / bootstrap though (albiet I have no idea how I would approach doing this). What I have done so far in this direction is create a plugin that displays inside of Omeka's admin panel, and has an iframe pointed to the admin path of processwire. From here I create includes for the paths that are created via processwire. I have thought of doing something like an include on the admin form plugin, but I dont know how anything would react to this. How would you suggest managing the content on processwire from another cms and hiding processwire content from being viewable from the web?
- 2 replies
-
- administration
- development
-
(and 3 more)
Tagged with: