Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/11/2014 in all areas

  1. OK - update on this, thanks to teppo for getting me curious about page type fields. I can now recreate the bug - there is a certain page field in the template involved, which uses the PageListSelect input type for a single page. If there's something selected in there, the repeater lower down the page doesn't save properly. If I unselect the page, bingo - the repeaters lower down in the page save fine again. To be clear - the page field is not in the repeater, it's in a completely section of the content. Will do a bit more investigating and come up with a simple recreatable case soon. Thanks everyone for your help thus far
    6 points
  2. Got it... The problem was the following part: var ref = $(this).parents().eq(1).attr('class'); $(ref+' .pic_1 img').fadeOut(400,function(){ As the variable "var ref"would be e.g. "galerie_images ref_2" it was resulting in the following script: $(galerie_2 ref_2 .pic_1 img').fadeOut(400,function(){ ...but it should be: $(.galerie_2.ref_2 .pic_1 img').fadeOut(400,function(){ So I changed the CSS class in the HTML as follows: before: <div class='galerie_images ref_1'> after: <div class='galerie_images_ref_1'> And the Javascript as follows: var ref = $(this).parents().eq(1).attr('class'); $('.'+ref+' .pic_1 img').fadeOut(400,function(){ Now it's working fine ;-)
    4 points
  3. Update: Apertus is abandoned in favor of a fork of the far more advanced Admin Theme Reno, "SuperReno". Download the current version on GitHub: https://github.com/marcus-herrmann/AdminThemeSuperReno An AdminTheme meant for developers Still en route to an enhanced version of the Knowledge Base Site Profile I'm now releasing an AdminTheme suited for said profile, sharing its design. This is, as usual, an early, not yet heavily tested release. It is intended to be activated for superusers only, since other themes such as Modesta or the default one are much more apt to customers and editors. Requirements Current ProcessWire 2.4.X Developement version A modern browser (but I think that's the last thing a developer is missing) Download | Project on GitHub Features Some of us work on a large number of ProcessWire installations at once. The following options aim to customize your backends to that extent that you can tell them apart within miliseconds and without looking at the URL. Therefore, within the theme's configuration (meaning: the module's settings), you can change the following: Environment indicator When using a development, staging and production version of a project, use this little switch in the theme's setting to indicate which installation you're currently on. Set main color In order to not confuse installations using Apertus, "color brand" them. Use hex, rgb(a), hsl(a), or named CSS values to your liking, but remember to apply a relatively dark color to prevail contrast. Set project name Lastly, name project backends. Shortcuts Search the forums from within every page of your ProcessWire backend Have all the important API documentation links at hand Check for new modules from every page using the tools upper right (refresh icon) Installation Copy all files from the ZIP archive to your /site/modules/ApertusAdminTheme/ directory. Click "Check for new modules" in ProcessWire Admin Modules screen. Click install for the module labeled: "Apertus Admin Theme". Background The design of this Admin Theme is based on my Knowledge Base Site Profile. Also, it is created to accompany a newer version of said Site Profile. This is the first version of Apertus, not yet heavily tested and therefore bleeding edge. Please use with caution. I named it "Apertus" (latin for open, uncovered) because of the default state of the main navigation (Page, Modules, Access,...). This is a pre-release (0.0.1) needing current dev version of PW to prepare for ProcessWire 2.5. Please help me improving the theme by reporting bugs on GitHub. Thanks! Roadmap Things I intend to implement/change in future versions: Making useful links configurable Proper responsive behaviour Refactoring JS Remove Compass dependency when compiling theme's CSS /edit: Added screenshots clarifying where to find theme's settings
    3 points
  4. In tutorials section of the site we are encouraged to request tutorials. This topic is such a request. ProcessWire is advertised to be great in not only building unique frontend features, but also custom backends. I would be very much interested in tutorial on building a custom backend for a site. I put some questions that could be covered in such a tutorial in a list below: How to create custom backend pages How to change the default starting page for admin users How to serve different backends to different users depending on roles How to style the page tree (I have seen it styled in some Soma's video tutorials, so it is a request for a best practice or an advice) Anything else you think appropriate here))) If someone could generously provide a screencast of a custom backend workflow it would be great tutorial in itself.
    2 points
  5. Hey, it's really a pain if you start a new translation that you have to enter each path separately. Why can't ProcessWire just do a quick search, find all translatable files and create the fitting .json files? Or does it behaves like that already and I just missed it? So you won't have to keep a blanko language like manfred created (thanks for this!): https://processwire.com/talk/topic/7245-translation-for-pw-25/
    2 points
  6. Greetings, Most of you know this but there are some who need to know how or what are the options available! and what ProcessWire can do to help making it easier. And before we start if your website is "LTR" Left to Right only then you don't need to read this, and if your website is "RTL" Right to Left only I will assume that you also don't need to continue reading! because you know what to do. If you don't here are the basics: As you always do in "RTL" you add to your main style file html, body { direction: rtl; } And you may want to change <html> to <html dir="rtl"> Depends if you need it or not, maybe for JS alerts or something. And the rest is up to you. OK let get started with multi directionality: If you are going do this or if you need this that's mean you have more than one language, let's say English/LTR and Arabic/RTL So go to PW admin area -> modules -> Core and install Languages Support, Languages Support - Fields and Languages Support - Page Names and add new language (name=arabic) From this point there is more than one way to get the job done, and here are some basic exsamples: lets say that you have English is default language and your main style name is main.css and with simple content example: body { background: #e4ebee url(images/bg.gif) repeat-x; } .something { width: 179px; height: 25px; float: left; text-align: left; } Create new style file to hold the Right to left code let's name it main-rtl.css and with simple above the content for RTL will be: body { direction: rtl; } .something { float: right; text-align: right; } Now in your original head.inc you have something like this: <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title><?php echo $page->get("headline|title"); ?></title> <meta name="description" content="<?php echo $page->summary; ?>" /> <meta name="generator" content="ProcessWire <?php echo $config->version; ?>" /> <link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" /> <!--[if IE]> <link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/ie.css" /> <![endif]--> <script type="text/javascript" src="<?php echo $config->urls->templates?>scripts/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="<?php echo $config->urls->templates?>scripts/main.js"></script> <!-- This website is powered by ProcessWire CMF/CMS. ProcessWire is a free open source content management framework licensed under the GNU GPL. ProcessWire is Copyright 2012 by Ryan Cramer / Ryan Cramer Design, LLC. Learn more about ProcessWire at: http://processwire.com --> </head> What you need to do is after the main.css line add this: <?php if ($user->language->name === "arabic") { echo '<link rel="stylesheet" type="text/css" href="'.$config->urls->templates.'styles/main-rtl.css" />'; } ?> So the final code will be <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title><?php echo $page->get("headline|title"); ?></title> <meta name="description" content="<?php echo $page->summary; ?>" /> <meta name="generator" content="ProcessWire <?php echo $config->version; ?>" /> <link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" /> <?php if ($user->language->name === "arabic") { echo '<link rel="stylesheet" type="text/css" href="'.$config->urls->templates.'styles/main-rtl.css" />'; } ?> <!--[if IE]> <link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/ie.css" /> <![endif]--> <script type="text/javascript" src="<?php echo $config->urls->templates?>scripts/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="<?php echo $config->urls->templates?>scripts/main.js"></script> <!-- This website is powered by ProcessWire CMF/CMS. ProcessWire is a free open source content management framework licensed under the GNU GPL. ProcessWire is Copyright 2012 by Ryan Cramer / Ryan Cramer Design, LLC. Learn more about ProcessWire at: http://processwire.com --> </head> Another way is using translations For example: <!DOCTYPE html> <html dir="<?php echo __("ltr"); ?>"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title><?php echo $page->get("headline|title"); ?></title> <meta name="description" content="<?php echo $page->summary; ?>" /> <meta name="generator" content="ProcessWire <?php echo $config->version; ?>" /> <link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" /> <style> body { direction: <?php echo __("ltr"); ?>; } </style> <!--[if IE]> <link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/ie.css" /> <![endif]--> <script type="text/javascript" src="<?php echo $config->urls->templates?>scripts/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="<?php echo $config->urls->templates?>scripts/main.js"></script> <!-- This website is powered by ProcessWire CMF/CMS. ProcessWire is a free open source content management framework licensed under the GNU GPL. ProcessWire is Copyright 2012 by Ryan Cramer / Ryan Cramer Design, LLC. Learn more about ProcessWire at: http://processwire.com --> </head> Now go to PW admin area -> Languages -> arabic -> Translate New File -> select your head.inc Translate ltr to be rtl And of course you can also do something like <link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main-<?php echo __("ltr"); ?>.css" /> But rename your main style name is main-ltr.css And so on.. Please know that it is always depends on how your design is made and what it's need! One small problem in PW2.4 with TinyMCE read about it here And One small problem in PW2.5 "dev" with CKEditor read about it here I hope this is useful to you.
    2 points
  7. I think you are mixing things up. The PW directories are /site and /wire. The /processwire url in the setup script is for admin access purposes. They are not the same thing.
    2 points
  8. For those reading this great thread, if you haven't seen it, Ryan has neatly summarised various approaches in the Tutorials section How to structure your template files: http://processwire.com/docs/tutorials/how-to-structure-your-template-files/
    2 points
  9. @thistimj, Yes. Something like this in the head of your main.php should do it: if ($page->template == "special") { echo '<script src="' . $config->urls->templates . 'js/modernizr.foundation.js"></script>'; echo '<link rel="stylesheet" href="' . $config->urls->templates . 'css/style.css" type="text/css" media="all">'; }
    2 points
  10. Thanks for posting Faisal. I've done it like this: Create a checkbox called "rtl" and add it to the language template. elect which languages are rtl and check the checkbox and save them. Using code like $user->language->rtl keeps your logic clean, especially when having multiple rtl languages. In my _init.php I create a boolean variable called $rtl which checks if the $user->language->rtl so I have access to it in my template files. Following this structure saves you time when adding a new rtl language since you don't have to alter any code and/or have to deploy to your live website.
    2 points
  11. new german updates for actual PW dev 2.4.11 (11 August 2014). Zip contains only updated/added files (in comparison to the default 2.4 lang pack). updated files: wire--modules--inputfield--inputfieldpagetable--inputfieldpagetable-module.json wire--modules--process--processmodule--processmodule-module.json added files: wire--core--modules-php.json wire--core--wiretempdir-php.json wire--modules--process--processmodule--processmoduleinstall-php.json pw-lang-de-dev-update.zip
    2 points
  12. The problem is the folder and the relative urls. $session->redirect('/profile/'); This redirects to a page directly under root. For example: this code will redirect to http://manlio.com/profile/. A ProcessWire url knows where the page is located (including if it's installed in a folder). So: $session->redirect($pages->get("/profile/")->url); Will redirect to http://manlio.com/Processwire/profile/.
    2 points
  13. The first way may be shorter, but it isn't correct if you want to redirect to the page that has the path /profile/. In this case, the redirect() method does not expect a "ProcessWire Page Path", but simply does what you ask it to do, redirecting to [root]/profile. As if you would create a link: <a href="/profile/">Foo</a>
    2 points
  14. Maybe someone should grab the new version of the ACE core (https://github.com/ajaxorg/ace) and add it to a Fork of Adam's module and submit a PR to him.
    2 points
  15. I've been with NFS - Nearly Free Speech - for years. https://www.nearlyfreespeech.net/ Setup can be a chore, but once things are running, everything is well maintained. I also really liked Site5. Best part is that you can pick and choose the location of your webhost. http://www.site5.com/
    2 points
  16. I agree on the need for such tutorials. Meanwhile, have search of the forums (using Google, of course); all your requests have been previously addressed in some way. These will give you an idea on how to approach the issues....But I agree, tutorials will explain them better and will be more visible than searching the forums for hidden gems
    2 points
  17. Solution was simpler than I thought (Thanks @Sumurai8 at Stack Overflow). Damn, .htaccess rewrites screw with my brain..... # rewrite the URL: folderTwo/* to http://domainTwo.com/* # as we want domainTwo.com/folderTwo to look like domainTwo/ # this works for any domain, so will rewrite: # http://domain.com/folderTwo/* # http://domainTwo.com/folderTwo/* etc # to http://domainTwo.com/* RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^folderTwo/?(.*)$ http://domainTwo.com/$1 [R,L] # redirects domainTwo.com to the PW /folderTwo folder RewriteCond %{HTTP_HOST} domainTwo\.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php?it=/folderTwo/$1 [L,QSA]
    2 points
  18. Install the profile exporter module http://modules.processwire.com/modules/process-export-profile/ It creates the install directory and comes with instructions.
    2 points
  19. Dynamic Roles are a powerful access control tool for ProcessWire. They pick up where traditional roles leave off, and allow you to assign permissions at runtime based on any factor present with the user. Once a user receives one or more dynamic roles (at runtime), those dynamic roles then specify what pages the user can view, edit, or add children to. If traditional roles are a sledgehammer, Dynamic Roles are a scalpel, allowing nearly any finely tuned access control scenario. Traditional ProcessWire roles are limited to assignment of view/edit/add access on a per-template basis. Dynamic roles go outside those limitations and enable you to assign that access based on any factors present with a page (i.e. match any field values). Dynamic Roles assign new access, but do not revoke existing access provided by traditional roles. As a result, Dynamic Roles can be used together with traditional roles, and the two work beautifully well together. Though Dynamic Roles can also replace all situations where you would use traditional roles for access control assignments. If using Dynamic Roles to assign page-view access, you would typically want to use traditional roles to revoke view access from at least the "guest" role at the template level. Then use Dynamic Roles to assign view access to those pages in a more granular manner. This module directly affects the results of all page getting/finding operations by applying the access control directly to the database queries before pages are loaded. As a result, it is fast (regardless of scale), pagination friendly, and requires no further intervention by the developer other than configuring the dynamic roles as they see fit. Because it relies upon new features present only in ProcessWire 2.4.6+, it requires the current dev branch. Sponsored by Avoine Concept by Antti Peisa Code by Ryan Cramer PLEASE NOTE: This module is in pre-release state (like the PW dev branch it requires) and is not recommended for production use just yet. Though we do appreciate any testing and/or feedback that you are able to provide. While not required, this module benefits from ProFields Multiplier. If you have ProFields Multiplier installed before installing this module, it will make this module more powerful by making all of your access control selectors have the ability to use OR-group conditions. Depending on your access control needs, this enables you to accomplish more with fewer Dynamic Roles. How to install Make sure you are running ProcessWire 2.4.6 (dev branch) or newer. Download from GitHub (we will add this module to the Modules directory later). Place all files from this module in /site/modules/DynamicRoles/. In your admin, go to Modules > Check for new modules. Click "install" for the Dynamic Roles module (ProcessDynamicRoles). Click to Access > Dynamic Roles for the rest (see example and instructions below). Example and instructions Lets say you ran a Skyscrapers site and wanted a role enabling users with "portmanusa.com" in their email address to have edit access to skyscrapers designed by architect John Portman, with at least 40 floors, and built on-or-after 1970. Yes, this is an incredibly contrived example, but it is an example that also demonstrates the access control potential of this module. 1. In your admin, you would click to Access > Dynamic Roles. 2. Click "Add Dynamic Role". Enter a name for the dynamic role, like: "skyscraper-test-editor" and save. 3. Under "Who is in this dynamic role?" section, click "Add Field" and choose: Email => Contains Text => "portmanusa.com". This will match all users having "portmanusa.com" in their email address. 4. Under "permissions" check the boxes for: page-view and page-edit. 5. For this contrived example, we will assume the user already has view access to all skyscrapers, so we will leave the "What can they view?" section alone. 6. For the "What can they edit?" section: Click "Add Field" and choose: template => Equals => Skyscraper. Click "Add Field" and choose: architect => Equals => John Portman. Click "Add Field" and choose: floors => Greater Than Or Equal => 40. Click "Add Field" and choose: year => Greater Than Or Equal => 1970. 7. Click Save. Now users matching the conditions of your dynamic role will be able to edit the matching pages, but not any others (unless assigned by traditional roles).
    1 point
  20. It's really easy with "Terminal" to get all the translatable files. Just open the root dir of your ProcessWire installation in the terminal ("cd /YOUR/DIR/PATH/" or drag'n'drop the folder onto the terminal.app icon). Then entering the following line: grep -lr '__(\|$this->_(' * grep search command -l only show filenames -r recursive '__(\|$this->_(' search term with OR ( \| ) condition * the folder you want to start the search in. because we are already in the folder because of "cd" we can use the asteric My result on PW 2.4.9: wire/core/AdminTheme.php wire/core/Field.php wire/core/Fields.php wire/core/FieldSelectorInfo.php wire/core/Fieldtype.php wire/core/FieldtypeMulti.php wire/core/Functions.php wire/core/Inputfield.php wire/core/InputfieldWrapper.php wire/core/LanguageFunctions.php wire/core/Modules.php wire/core/Pagefile.php wire/core/Pageimage.php wire/core/Pages.php wire/core/Password.php wire/core/Session.php wire/core/SessionCSRF.php wire/core/Wire.php wire/core/WireCache.php wire/core/WireHttp.php wire/core/WireUpload.php wire/modules/AdminTheme/AdminThemeDefault/AdminThemeDefault.module wire/modules/AdminTheme/AdminThemeDefault/AdminThemeDefaultHelpers.php wire/modules/AdminTheme/AdminThemeDefault/default.php wire/modules/Fieldtype/FieldtypeComments/CommentFilterAkismet.module wire/modules/Fieldtype/FieldtypeComments/CommentForm.php wire/modules/Fieldtype/FieldtypeComments/CommentList.php wire/modules/Fieldtype/FieldtypeComments/FieldtypeComments.module wire/modules/Fieldtype/FieldtypeComments/InputfieldCommentsAdmin.module wire/modules/Fieldtype/FieldtypeDatetime.module wire/modules/Fieldtype/FieldtypeFile.module wire/modules/Fieldtype/FieldtypeFloat.module wire/modules/Fieldtype/FieldtypeModule.module wire/modules/Fieldtype/FieldtypePage.module wire/modules/Fieldtype/FieldtypePageTable.module wire/modules/Fieldtype/FieldtypeRepeater/FieldtypeRepeater.module wire/modules/Fieldtype/FieldtypeRepeater/InputfieldRepeater.module wire/modules/Fieldtype/FieldtypeSelector.module wire/modules/Fieldtype/FieldtypeText.module wire/modules/Fieldtype/FieldtypeTextarea.module wire/modules/Fieldtype/FieldtypeURL.module wire/modules/Inputfield/InputfieldAsmSelect/InputfieldAsmSelect.module wire/modules/Inputfield/InputfieldButton.module wire/modules/Inputfield/InputfieldCheckbox.module wire/modules/Inputfield/InputfieldCheckboxes/InputfieldCheckboxes.module wire/modules/Inputfield/InputfieldCKEditor/InputfieldCKEditor.module wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.module wire/modules/Inputfield/InputfieldEmail.module wire/modules/Inputfield/InputfieldFieldset.module wire/modules/Inputfield/InputfieldFile/InputfieldFile.module wire/modules/Inputfield/InputfieldFloat.module wire/modules/Inputfield/InputfieldForm.module wire/modules/Inputfield/InputfieldHidden.module wire/modules/Inputfield/InputfieldImage/InputfieldImage.module wire/modules/Inputfield/InputfieldInteger.module wire/modules/Inputfield/InputfieldMarkup.module wire/modules/Inputfield/InputfieldName.module wire/modules/Inputfield/InputfieldPage/InputfieldPage.module wire/modules/Inputfield/InputfieldPageAutocomplete/InputfieldPageAutocomplete.module wire/modules/Inputfield/InputfieldPageListSelect/InputfieldPageListSelect.module wire/modules/Inputfield/InputfieldPageListSelect/InputfieldPageListSelectMultiple.module wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module wire/modules/Inputfield/InputfieldPageTable/InputfieldPageTable.module wire/modules/Inputfield/InputfieldPageTable/InputfieldPageTableAjax.php wire/modules/Inputfield/InputfieldPageTitle/InputfieldPageTitle.module wire/modules/Inputfield/InputfieldPassword.module wire/modules/Inputfield/InputfieldRadios/InputfieldRadios.module wire/modules/Inputfield/InputfieldSelect.module wire/modules/Inputfield/InputfieldSelectMultiple.module wire/modules/Inputfield/InputfieldSelector/InputfieldSelector.module wire/modules/Inputfield/InputfieldSubmit/InputfieldSubmit.module wire/modules/Inputfield/InputfieldText.module wire/modules/Inputfield/InputfieldTextarea.module wire/modules/Inputfield/InputfieldURL.module wire/modules/Jquery/JqueryWireTabs/JqueryWireTabs.module wire/modules/LanguageSupport/LanguageParser.php wire/modules/LanguageSupport/LanguageSupport.module wire/modules/LanguageSupport/LanguageSupportFields.module wire/modules/LanguageSupport/LanguageSupportPageNames.module wire/modules/LanguageSupport/LanguageTabs.module wire/modules/LanguageSupport/ProcessLanguage.module wire/modules/LanguageSupport/ProcessLanguageTranslator.module wire/modules/Markup/MarkupPageFields.module wire/modules/Markup/MarkupPagerNav/MarkupPagerNav.module wire/modules/PageRender.module wire/modules/Process/ProcessField/ProcessField.module wire/modules/Process/ProcessForgotPassword.module wire/modules/Process/ProcessHome.module wire/modules/Process/ProcessList.module wire/modules/Process/ProcessLogin/ProcessLogin.module wire/modules/Process/ProcessModule/ProcessModule.module wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module wire/modules/Process/ProcessPageClone.module wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module wire/modules/Process/ProcessPageEditImageSelect/ProcessPageEditImageSelect.module wire/modules/Process/ProcessPageEditLink/ProcessPageEditLink.module wire/modules/Process/ProcessPageList/ProcessPageList.module wire/modules/Process/ProcessPageLister/ProcessPageLister.module wire/modules/Process/ProcessPageSearch/ProcessPageSearch.module wire/modules/Process/ProcessPageSort.module wire/modules/Process/ProcessPageTrash.module wire/modules/Process/ProcessPageType/ProcessPageType.module wire/modules/Process/ProcessPageView.module wire/modules/Process/ProcessPermission/ProcessPermission.module wire/modules/Process/ProcessProfile/ProcessProfile.module wire/modules/Process/ProcessRole/ProcessRole.module wire/modules/Process/ProcessTemplate/ProcessTemplate.module wire/modules/Process/ProcessUser/ProcessUser.module wire/modules/Session/SessionHandlerDB/ProcessSessionDB.module wire/modules/Session/SessionHandlerDB/SessionHandlerDB.module wire/modules/Session/SessionLoginThrottle/SessionLoginThrottle.module wire/modules/System/SystemUpdater/SystemUpdater.module wire/modules/Textformatter/TextformatterEntities.module wire/modules/Textformatter/TextformatterMarkdownExtra/markdown.php wire/templates-admin/debug.inc wire/templates-admin/default.php wire/templates-admin/topnav.inc (Inspired by Manfred62's post: https://processwire.com/talk/topic/7245-translation-for-pw-25/)
    1 point
  21. for the upcoming PW version 2.5: here you find a list of files which I have translated (based on the actual dev pre 2.5). These are 122 files (updated). Not all have to be translated, but are "nice to have". If someone wants to start a new lang-pack, take the empty lang files from the zip. list of all files: wire--core--admintheme-php.json wire--core--field-php.json wire--core--fieldgroups-php.json wire--core--fields-php.json wire--core--fieldselectorinfo-php.json wire--core--fieldtype-php.json wire--core--fieldtypemulti-php.json wire--core--functions-php.json wire--core--inputfield-php.json wire--core--inputfieldwrapper-php.json wire--core--modules-php.json wire--core--pagefile-php.json wire--core--pageimage-php.json wire--core--pages-php.json wire--core--password-php.json wire--core--process-php.json wire--core--sanitizer-php.json wire--core--session-php.json wire--core--sessioncsrf-php.json wire--core--wirecache-php.json wire--core--wirehttp-php.json wire--core--wiretempdir-php.json wire--core--wireupload-php.json wire--modules--admintheme--adminthemedefault--adminthemedefault-module.json wire--modules--admintheme--adminthemereno--adminthemereno-module.json wire--modules--admintheme--adminthemereno--adminthemerenohelpers-php.json wire--modules--admintheme--adminthemereno--debug-inc.json wire--modules--admintheme--adminthemereno--default-php.json wire--modules--fieldtype--fieldtypecomments--commentfilterakismet-module.json wire--modules--fieldtype--fieldtypecomments--commentform-php.json wire--modules--fieldtype--fieldtypecomments--commentlist-php.json wire--modules--fieldtype--fieldtypecomments--fieldtypecomments-module.json wire--modules--fieldtype--fieldtypecomments--inputfieldcommentsadmin-module.json wire--modules--fieldtype--fieldtypedatetime-module.json wire--modules--fieldtype--fieldtypefile-module.json wire--modules--fieldtype--fieldtypefloat-module.json wire--modules--fieldtype--fieldtypemodule-module.json wire--modules--fieldtype--fieldtypepage-module.json wire--modules--fieldtype--fieldtypepagetable-module.json wire--modules--fieldtype--fieldtyperepeater--fieldtyperepeater-module.json wire--modules--fieldtype--fieldtyperepeater--inputfieldrepeater-module.json wire--modules--fieldtype--fieldtypeselector-module.json wire--modules--fieldtype--fieldtypetext-module.json wire--modules--fieldtype--fieldtypetextarea-module.json wire--modules--fieldtype--fieldtypeurl-module.json wire--modules--inputfield--inputfieldasmselect--inputfieldasmselect-module.json wire--modules--inputfield--inputfieldbutton-module.json wire--modules--inputfield--inputfieldcheckbox-module.json wire--modules--inputfield--inputfieldcheckboxes--inputfieldcheckboxes-module.json wire--modules--inputfield--inputfieldckeditor--inputfieldckeditor-module.json wire--modules--inputfield--inputfielddatetime--inputfielddatetime-module.json wire--modules--inputfield--inputfieldemail-module.json wire--modules--inputfield--inputfieldfieldset-module.json wire--modules--inputfield--inputfieldfile--inputfieldfile-module.json wire--modules--inputfield--inputfieldfloat-module.json wire--modules--inputfield--inputfieldform-module.json wire--modules--inputfield--inputfieldhidden-module.json wire--modules--inputfield--inputfieldimage--inputfieldimage-module.json wire--modules--inputfield--inputfieldinteger-module.json wire--modules--inputfield--inputfieldmarkup-module.json wire--modules--inputfield--inputfieldname-module.json wire--modules--inputfield--inputfieldpage--inputfieldpage-module.json wire--modules--inputfield--inputfieldpageautocomplete--inputfieldpageautocomplete-module.json wire--modules--inputfield--inputfieldpagelistselect--inputfieldpagelistselect-module.json wire--modules--inputfield--inputfieldpagelistselect--inputfieldpagelistselectmultiple-module.json wire--modules--inputfield--inputfieldpagename--inputfieldpagename-module.json wire--modules--inputfield--inputfieldpagetable--inputfieldpagetable-module.json wire--modules--inputfield--inputfieldpagetable--inputfieldpagetableajax-php.json wire--modules--inputfield--inputfieldpagetitle--inputfieldpagetitle-module.json wire--modules--inputfield--inputfieldpassword-module.json wire--modules--inputfield--inputfieldradios--inputfieldradios-module.json wire--modules--inputfield--inputfieldselect-module.json wire--modules--inputfield--inputfieldselectmultiple-module.json wire--modules--inputfield--inputfieldselector--inputfieldselector-module.json wire--modules--inputfield--inputfieldsubmit--inputfieldsubmit-module.json wire--modules--inputfield--inputfieldtext-module.json wire--modules--inputfield--inputfieldtextarea-module.json wire--modules--inputfield--inputfieldurl-module.json wire--modules--jquery--jquerywiretabs--jquerywiretabs-module.json wire--modules--languagesupport--languageparser-php.json wire--modules--languagesupport--languagesupport-module.json wire--modules--languagesupport--languagesupportfields-module.json wire--modules--languagesupport--languagesupportpagenames-module.json wire--modules--languagesupport--languagetabs-module.json wire--modules--languagesupport--processlanguage-module.json wire--modules--markup--markuppagefields-module.json wire--modules--markup--markuppagernav--markuppagernav-module.json wire--modules--pagepaths-module.json wire--modules--pagerender-module.json wire--modules--process--processfield--processfield-module.json wire--modules--process--processfield--processfieldexportimport-php.json wire--modules--process--processforgotpassword-module.json wire--modules--process--processhome-module.json wire--modules--process--processlist-module.json wire--modules--process--processlogin--processlogin-module.json wire--modules--process--processmodule--processmodule-module.json wire--modules--process--processmodule--processmoduleinstall-php.json wire--modules--process--processpageadd--processpageadd-module.json wire--modules--process--processpageclone-module.json wire--modules--process--processpageedit--processpageedit-module.json wire--modules--process--processpageeditimageselect--processpageeditimageselect-module.json wire--modules--process--processpageeditlink--processpageeditlink-module.json wire--modules--process--processpagelist--processpagelist-module.json wire--modules--process--processpagelister--processpagelister-module.json wire--modules--process--processpagesearch--processpagesearch-module.json wire--modules--process--processpagesort-module.json wire--modules--process--processpagetrash-module.json wire--modules--process--processpagetype--processpagetype-module.json wire--modules--process--processpageview-module.json wire--modules--process--processpermission--processpermission-module.json wire--modules--process--processprofile--processprofile-module.json wire--modules--process--processrole--processrole-module.json wire--modules--process--processtemplate--processtemplate-module.json wire--modules--process--processtemplate--processtemplateexportimport-php.json wire--modules--process--processuser--processuser-module.json wire--modules--session--sessionhandlerdb--processsessiondb-module.json wire--modules--session--sessionhandlerdb--sessionhandlerdb-module.json wire--modules--session--sessionloginthrottle--sessionloginthrottle-module.json wire--modules--system--systemupdater--systemupdater-module.json wire--modules--textformatter--textformatterentities-module.json wire--templates-admin--debug-inc.json wire--templates-admin--default-php.json empty lang pack: pw-lang-empty-2.5.zip EDIT: thanks to Nico/Ryan. Updated the lang pack. Now includes 122 files.
    1 point
  22. Hi forum, I got a new one online last week: www.ecotec.de A fully responsive website for a German consulting firm specialized in cost-cutting strategies for industries with high energy consumption. Again based on my - evolved - Unsemantic Site Profile which allows for responsive sites compatible down to IE7. The site incorporates a former stand-alone WP blog which has been integrated into the new site. For this I used the new Migrator and Wordpess Migrator modules and got grandiose personal support from adrian and nico. Thank you guys, you were extremely helpful and patient. Other modules used: Admin Save Actions AIOM+ Email Obfuscator Markup Simple Navigation and Superfish flyout navigation (not a PW module) However, though I learned a lot from this project and improved my coding skills, I didn't fall in love with the site. In particular I'm unhappy with the purple/gray color scheme. Originally the project scope included a - soft - redesign of the brand appearance. But while the process was ongoing, my client somehow realized that he was still in love with his logo, his Futura font (buh!) and his purple primary color (buh, buh!). We had some very tough discussions about this in the middle of the project, but what can you do? At the end, here we are: in a purple dream. I hope I made the best out of it. One last thing (no, not what you think): The front page doesn't validate. The validator claims open elements in the blog posts section of the front page. For heaven's sake, I can't find an error in my code. So, if someone finds out why, please let me know. Cheers
    1 point
  23. Just for the record (I can see that other arguments have already kicked in), I'd like to point out that this would also require ProcessWire (and thus your Apache user) to be able to create and modify files within /site/templates/. This, in my humble opinion, is not a good idea; even with proper safeguards in place, web-writable executable files open all sorts of possibilities for abuse. You don't want to go that route unless you absolutely need to -- and I can't imagine any situation where I'd actually want to do that.
    1 point
  24. If "/processwire" is the root of where you extracted the following zip, then YES. It has an index.php file http://processwire.com/download/ Upon initial extraction, you'll have this structure: FOLDER site-default wire FILE .gitignore COPYRIGHT.txt htaccess.txt index.php install.php LICENSE.txt README.md The folder 'site-default' automagically gets renamed to 'site' after installation. After installation, you'll find your WORKING FILES here: ./site/templates/... By WORKING FILES, I mean these are the ones you'll be working with 99.99% of the time. During the installation, whatever name you give your "Admin Login URL" is how you would access your site back-end. I do the same. Live site = website.com Test site = website.dev Makes it SO much easier.
    1 point
  25. Mac installs: https://processwire.com/talk/topic/5797-setup-a-processwire-environment-on-a-fresh-macos-x-install/ https://processwire.com/talk/topic/4917-the-admin-cannot-be-reached-in-new-installation/ https://processwire.com/talk/topic/98-installing-on-mac-localhost-going-all-sorts-of-wrong/ https://processwire.com/talk/topic/6803-help-needed-for-local-setup-on-a-mac/
    1 point
  26. A bit OT. I always set up virtual hosts for every project or test install i do. This way the default .htaccess has never failed me and it saves headaches when deploying to live domains. Installing into (sub)folders of localhost is not optimal to my taste.
    1 point
  27. Looks like the problem is that you are overriding $body in the last line of code completely instead of concatenating - change it to a ".=" and it should work. Although I don't actually think you want that there because it would be after the results anyways. If you look at the module Readme: https://github.com/adrianbj/Process404Search Note that I recommend to put text like that in the body field of your 404 page and then use this instead at the top of your search.php file: if(isset($options['q'])){ $input->get->q = $options['q']; $out .= $pages->get(27)->body; } Note that in your case you want to replace $out with $body
    1 point
  28. Don't go renaming the wire folder. As cstevensjr says, the admin URL is not at all related to the name of that folder. The admin page in PW is just a page in the system and the URL is defined by that entry in the database that I pointed you to which is controlled by some .htaccess mod_rewrite rules. That is now a very different error to what you first received. Take a look here for help with this: http://processwire.com/docs/tutorials/troubleshooting-guide/page3
    1 point
  29. You're right of course I was forgetting the scenario we were talking about here. I guess I just don't like having lots of template specific conditions in the main.php file which is why I use that method along with Ryan's approach. Too many options with PW
    1 point
  30. Another approach is to put this in your main.php <html> <head> <?php echo $head; ?> </head> And then in each template file you can define $head differently, eg: $head = '<script src="' . $config->urls->templates . 'js/modernizr.foundation.js"></script> <link rel="stylesheet" href="' . $config->urls->templates. 'css/style.css" type="text/css" media="all">'; I do the same thing with a variable called $endOfBody
    1 point
  31. Just an FYI for everyone here, Ryan has just fixed the continue bug, added optional support for localized dates, and also added in support for getting link and summary.
    1 point
  32. I can give more info for sure, thanks for your help guys. PW 2.4.0 PHP 5.3.22 MySQL 5.1.53 Apache 2.2.17 This issue has been seen across other servers too, some windows (local devs) and some linux (staging / live). I've upgraded my local dev version to the spec above to try and sort this issue out basically - so I have some freedom to play around with testing etc. As I mentioned before it's only on some pages this is happening - some of the pages edit absolutely fine that use the exact same template, so I'm thinking there might be something in the content iteslf that might be affecting it. Can anyone guide me to the right part of the PW code that is triggered when you hit save in the CMS editor (client or server side pointers are all helpful). Thanks again s
    1 point
  33. it has begun. it's been good knowing you guys.
    1 point
  34. Having read all these posts popping up lately about this subject, please notify me before processwire is going to be turned into processteer so I can download pw's original latest stable.
    1 point
  35. I am sure that it is not a simple task to produce a tutorial like that. Maybe the screencast of a backend system of a complex site would be an easier starting point. Sometimes it is nice to actually see something done (not just know it can be) and then do it yourself.
    1 point
  36. Hi Daerias Here is a generic tutorial explaining how to add ANY framework to ProcessWire - it is remarkably easy, indeed, there really is no proper need for my profile at all! http://processwire.com/docs/tutorials/installing-a-css-framework/ Joss
    1 point
  37. Thanks adrian and marcus. Appreciate these are very noob Qs. The following code is working for me based on your suggestion. Basically, I have two responsive columns (using Foundation) and the left one outputs the image while the right one outputs the summary. <!-- START Nested Column containing featureimage and post-summary --> <div class="row"> <div class="small-12 large-6 columns"> <?php $blogposts = $pages->find("template=blog-post"); foreach ($blogposts as $b) { echo "<img src={$b->blog_images->first()->url} />";} ?> </div> <div class="small-12 large-6 columns"> <?php $blogposts = $pages->find("template=blog-post"); foreach ($blogposts as $b) { echo "<p>{$b->blog_summary}</p>";} ?> </div> </div> <!-- END Nested Column containing featureimage and post-summary --> I'm slowly getting there. I can see how PW will gradually improve my PHP too and am slowly understanding some of this variables stuff. No idea why I agreed to put together an urgent client project on a tight deadline with a CMS I'm not familar with.
    1 point
  38. Hi zwergo, great project. Thank you for sharing. A lot to learn from your code. I'm really happy that I could convince you to take another look at PW as the right tool for your project. Cheers Gerhard
    1 point
  39. Or you can just use PocketGrid CSS (grid system only) and have any number of columns you want...
    1 point
  40. Ah yes there's no support for subfields, only the page field will replaced with url. But you could custom replace a placeholder with a hook. For example name the placeholder something like "color" can be anything. Then add a hook like $nav = $modules->MarkupSimpleNavigation; $nav->addHookBefore("getItemString", null, function($event){ $tpl = $event->arguments("tpl"); $page = $event->arguments("page"); // maybe some condition do whatever you need if($page->catColor){ $tpl = str_replace('{mycolor}', $page->catColor->title, $tpl); // replace the placeholder $event->setArgument('tpl', $tpl); // send back the tpl argument } }); // then render as usual using the {mycolor} echo $nav->render(array( 'item_tpl' => '<a class="{mycolor}" href="{url}" title="Link to: {title}">{title}</a>', )); The method getItemString() is just the method that runs a parser to replace the placeholders with real values, so we hook into it before.
    1 point
  41. I have made some nice progress: DeliveryPost done, which asks post address + email.These DeliveryModules pretty much control the whole checkout process (and also adds some admin actions). This is the part of the shop that I guess will be most often customized. It also keeps things simple, when your needs are simple. module that hooks into DeliveryPost and adds shipping options order events (or order history - what has happened and when) Oh, and the module has a name: PadLoper (named after cute turtle species) Here are few teasers:
    1 point
  42. As for feature set: my aim is not to solve each and every e-commerce situation there is. I would consider this more for "small shops" at this point, haven't tought about scalability for hundreds thousands orders for example. Here is short feature lists what I have so far and what I am planning for release: E-Commerce modules: Shopping cart Support for different delivery modules (these changes whole checkout process, what fields to ask from customer, what to show after payment success / fails etc. Currently I have done "DeliveryEmail" which only asks email address from customer and then sends email confirmation with possible download links. I will implement more general "DeliveryPostage", where we ask postal addresses also) Support for different payment methods (currently stripe implemented, looking for paypal too for the release - payment methods are independent, so they can be used in other projects too than only this shop) Admin page to manage downloads Fieldtype to attach downloads to products (products are always pages) Since products are pages, support for variations etc are easy: just use repeaters or PageTable. Admin page to manage orders: printing packing slip, mark them as delivered etc... (50% done) Admin page for simple monthly reports (todo) Multiple taxes and taxes for products (todo) These E-Commerce modules are planned in a way that first you build your product catalog (just using ProcessWire) and then install these modules (only those modules you need). So in a way these are quite a "transparent" glue there. Shop profile (might implement this after the beta period): Starter profile for "full featured" shop: product template, categories, tags, product search, related products etc... Can be used as a standalone shop or just for educational purposes (look how certain features are implemented and add them in own store).
    1 point
  43. I hope to open beta testing soon - planning to open it first for just one or two person and then after that start selling it with 50% off beta pricing. Yes, this is totally new system, no single line from current shop module used. Yesterday I got file downloads working. Couldn't use PW:s pagefiles, since those would have been public (because product page is public). So I ended up having general "downloads" section, where shop admin can add/edit/remove file downloads, and then new "downloads fieldtype", which allows attaching those downloads to page. This method has one drawback: adding file downloads is two step process (first add file into downloads section, then go edit product to attach it). There are some good sides also, especially if same downloads are found from mulptiple products and the files are updated every now and then. File downloads work by "codes", which are unique for each file and each order. You can set rules how long codes are active: for n or unlimited downloads or until certain date or always. There is also possibility to "re-deliver" digital downloads order from shop admin, so customer gets new email with fresh download links.
    1 point
  44. I have a moderate work load of sites that I develope. Some times I get more than I can handle. Some times I have more than my current skill level can handle. I'd like to expand my sole trading business to work with some more designers developers. Nothing too heavy, but I'd like to have on board some people that would like to take on jobs and be featured on my website as a developer. In return, each of the people should be able to feature each of the developers on their own website as their virtual company. The idea being that the local contact can arrange face to face meetings, specs etc and any of the remote workers can take on parts or all of the projects. I'd be very interested to know if anyone would be interested in this concept, what they typically expect as payment and any other thoughts. Feel free to reply to this topic for public forum chat or pm. David
    1 point
  45. If anyone is interested, this is a realtime commenting system I'm implementing using it. It's very alpha and I'm not sure if I'll ever to publish it as a module, but it was very easy to implement. The comments are posted using AJAX and the simple api router I use calls a function to post the comment. This function in turn creates a Pusher event in PHP and sends the data to Pusher, which sends it back to the client (this is all push). There are a few lines of javascript waiting for the event to trigger, which in turn renders the comment that was send back from the server through Pusher. I'm using all native PW fields and templates for this, this allows me to have caching enabled on the server. Each time a comment is posted, the discussion is re-cached, so if someone loads a page, it should get most of what's supposed to be there, then any updates are done client-side.
    1 point
  46. I don't even know what to say. Domo arigato Mr. Roboto is all that comes to mind.
    1 point
  47. Wicked Adrian! I'll test it out and get back to you tomorrow. Thanks so much for the help with this, love this community.
    1 point
  48. Update. Font size is now 14px for all base fonts, heading/nav are mostly 16px. Sidebar action shrink down. I think we now have enough space for most page trees. Removed the boxes around the fields as suggested by apeisa. Thin lines to seperate them, especially the multi-column fields. Not sure about this one, because it' really defines the "look" of the PW admin. Updated setup view added. Now looking forward to do more on those fields. Repeaters and image uploads, fieldset. Note: You can use this design under a Creative Commons BY-SA 3.0 licence. Of course, the ProcessWire logo is owned by Ryan Cramer and the Icons are taken from Entypo. Contact me, if you want the layered files or sliced graphics.
    1 point
  49. "So someone in your team should be the gatekeeper for these administration resources." Yep, always keep someone around who can take all the blame. My dog has a very rough time in that regard.
    1 point
  50. I agree, it is worth asking. But I also think that a hosting environment with such tight mod_security rules is a CMS-unfriendly environment (for any CMS). It looks to me like in this particular case, Baki could probably get around this one by just limiting each template to having only a single TinyMCE field, and using Markdown for any other fields that need any kind of formatting (given that HTML won't be allowed except in POST field). But personally I would consider looking at alternate hosting providers... there are so many, and it's not really worth jumping through a lot of hoops to get around overly aggressive mod_security settings. I also worry about hosting environments that have this kind of setup because I think these strict rules are sometimes in lieu of real managed security.
    1 point
×
×
  • Create New...