Jump to content

Ivan Gretsky

Members
  • Posts

    1,523
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by Ivan Gretsky

  1. CKEditor 5 is a completely different kind of editor. It doesn't store the entered text/markup as is, but rather transforms it to it's in built data model. The transition to it would probably be pretty complicated if possible. Things like text formatters, image plugin and a lot of textarea-related stuff would probably have to be redesigned. So do not think it is going to happen soon (but Ryan can surprise us like he did a million times)))
  2. 1. Change this AOS module setting as you wish: 2. Add templates definitions to that file (as described here or here).
  3. You can try CKEditor content templates. I think you can get it into your system with AOS module.
  4. Sounds like a minor thing in the end just to finish the post, unless it's your issue, your site falls apart without it being solved) Thanks!
  5. Those functions are needed in _main.php to render correctly. I think there must be some better solution. If I run $page->render() in the same hook, it works fine. Though it obviously also load both _init.php and _main.php on the way.
  6. Changing the condition to use a super global variable indeed helped me to prevent _init.php from running once again. But in this case the TemplateFile object doesn't get any variables from _init.php which it need to render correctly. I thought, that I need to move all the code to another hook before the Page:render. So I made PageRender::beforeRenderPage hookable and moved the code there. But that still didn't work. I am definitely lost here((
  7. Actually, if there is no more than one CKEditor field in a Repeater item, custom styles should work. Check it out again. But when there are more, I know no solution. Please give a thumb up to the issue and write a comment, so @ryan gets a notification. I has been a while without anything new on this issue, so your voice could make a difference)
  8. I think, you could use MarkupPagerNav module directly with specific options. renderPager() function calls it internally like this. I guess, you need to adjust the baseUrl option.
  9. Seems like double-posting worked for you better in this topic, @Jessie) Anyway, please do not double post not to clutter the forum)
  10. No direct answer from me) Just googled that and this seems to be something you might want to take a look at.
  11. Hi @Jessie! When does the error happen exactly? When you ad the field to the template? When you create the field?
  12. How are you including this function? Is it in ProcessWire namespace?
  13. If it is only one project per user, you could use this module. If you need to grant a user access to 2 or more branches, you probably need to hide the tree of pages to that user and display accessible pages with a custom module. I hope I understood your question properly)
  14. I checked my site that had custom styles. This is what I have there in site/modules/InputfieldCKEditor/mystyles.js: CKEDITOR.stylesSet.add( 'mystyles', [ { name: 'Inline Code', element: 'code' }, { name: 'Inline Quotation', element: 'q' }, { name: 'Left Aligned Photo', element: 'img', attributes: { 'class': 'align_left' } }, { name: 'Right Aligned Photo', element: 'img', attributes: { 'class': 'align_right' } }, { name: 'Centered Photo', element: 'img', attributes: { 'class': 'align_center' } }, { name: 'Small', element: 'small' }, { name: 'Deleted Text', element: 'del' }, { name: 'Inserted Text', element: 'ins' }, { name: 'Cited Work', element: 'cite' }, { name: 'Left Heading', element: 'h2', attributes: { 'class': 'u-align-left' } }, { name: 'Right Heading', element: 'h2', attributes: { 'class': 'u-align-right' } }, { name: 'Important', element: 'div', attributes: { 'class': 'u-important u-important--brand' } }, { name: 'Bordered Table', element: 'div', attributes: { 'class': 'u-table-bordered' } } ]); My added styles are at the end of the list. They do work, if there is only one CKEditor field on the page edited (see this issue). Also keep in mind, that the styles for ul elements are only shown when this type of element is selected in the editor working area. P.S. If everything works out, don't forget to add you custom styles to site/modules/InputfieldCKEditor/contents.css or site/modules/InputfieldCKEditor/contents-inline.css so they display as they should: ... .u-important--brand { font-size: 21px; line-height: 1.3; padding-left: 40px; } .u-table-bordered { color: blue; }
  15. Maybe something as simple as this will do? if(isset($input->get->q) && !empty($input->get->q)) { ...
  16. I did put this in _init.php: <?php namespace ProcessWire; bd("inside init"); bd($alreadyExecuted, '$alreadyExecuted'); if(isset($alreadyExecuted) && $alreadyExecuted) return; $alreadyExecuted = true; // set it in the first run. bd("inside init 2"); And here's what I get:
  17. Good day! I am trying to do a frontend check in a Page::render hook and return completely different markup on condition: <?php // This is site/ready.php wire()->addHookAfter('Page::render', function (HookEvent $event) { $page = $event->object; ... //Some condition here $config = wire("config"); $t = new ProcessWire\TemplateFile($config->paths->templates . "test.php"); $t->setArray(array( 'page' => wire()->pages->get("1234"), ) ); $t->setPrependFilename($config->paths->templates . '_init.php'); $t->setAppendFilename($config->paths->templates . '_main.php'); $out = $t->render(); $event->return = $out; } But I get this error: Cannot redeclare SomeFubction() (previously declared in ...\site\templates\_func.php:123) _func.php is included with include_once in _init.php. But somehow _init.php happens to run twice. Can't get my head around this one. Please help!
  18. Resurrecting this is an old topic) Is there now an easy way to use the title of a page a repeater field is on in a Custom Page Label Format? Like {getForPage.title} with a special keyword? Probably like {parent.title}, which works. I solved the problem with the hook, but it could've been easier)
  19. A bit offtop... Maybe such epic modules like Tracy Debugger (and AOS, and some else, probably) could get their own sub-forums under Modules/Plugins? Kind of like Padloper got its own under Vip Support? I am sure, it can be done and (arguably) would make it easier for people to find stuff. But would it make it easier for maintainers? What do you think, @adrian?
  20. I guess it is it) But I was hoping for something similar, yet different: the side-to-side permissions list)) Guess will have to compare them "by hand".
  21. Good day! I thought I've read about something like this s while ago, but can't find it. Maybe I was just dreaming) Is there a module to compare permissions by roles side by side in a table?
  22. That's the point of it all - I do not want to rewrite all $this occurrences))) Thought there is some smart way to avoid this. $this2 was a try to somehow substitute $this with something I can get api variables from. But I guess this will not help if there is some module method/property calls. Maybe I could inject $this as a dependency from a hook somehow (I do not even understand if I am writing proper terms here))))))?
  23. Thanks, @kongondo! Sorry for late reply. But now I am at this once again) This is what I'm trying to do in admin.php: /** * Replace the execute method of ProcessLogin module to replace * the getLoginName() call with getLoginName2(). The former method is not hookable. * The latter method is added via hook/ * * All this is done to allow users to login with their email changed on the fly * to user name (replace '@' with '-'). * */ wire()->addHookBefore('ProcessLogin::execute', 'processLoginExecute2'); ... getLoginExecute2() is just a copy of ProcessLogin::execute with minor changes. I copy it to admin.php like this: function processLoginExecute2(HookEvent $event) { $event->replace = true; /** @var Session $session */ $session = $this2->wire('session'); /** @var WireInput $input */ $input = $this2->wire('input'); /** @var User $user */ $user = $this2->wire('user'); if($user->isLoggedin()) { ... And then I get an error with $this variable. It must be it is not in scope or something.
  24. As I get it, partials came first (there were no components at the time). And components were added later due to user requests. I think too that only one (the components)) should stay in the future. But I may be missing something.
  25. Welcome to the forums, @rookie! The question you're asking is very interesting and important. But I think you have to read the forums a bit before continuing with it. For now it seems like any answer will be not good enough for you. So do search the forums for 'page builder' and 'content builder'. It is better to search with google though) It is possible to do it with the page structure you're showing. But without Repeater an PageTable fields (or preferably RepeaterMatrix) it will be pretty hard to maintain. So take your time to explore a bit.
×
×
  • Create New...