Jump to content

ukyo

Members
  • Posts

    262
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by ukyo

  1. Like @LostKobrakai example. Also you can check full tags usage from here : http://ogp.me/
  2. Updated module Added all html tags, for code completion. Its only work with static calls. Separated all classes HTML Element Reference
  3. SIX AND ONE => ALTI VE BIR => https://en.wikipedia.org/wiki/Trabzon_Province (I was born here) Vehicle registration code is : 61 and my company name. Living here : https://en.wikipedia.org/wiki/Marmaris since 1988
  4. For tag function not supporting $attributes variable. I disabled this and added attr(), data() short functions to class. For make readable view now you can use attr(), data(), addClass() and id() functions. For add multiple attributes and dataAttributes (i am not using these functions much) you can use attributes() and dataAttributes() functions. For make clear and understandable code here is an example : html::div() ->addClass('container') ->addClass('container-center') ->attr('style', 'border: 1px solid #000;') ->data('id', $page->id) ->data('title', $page->title) ->child( html::h1($page->title) ->addClass('h1-title') ->r() ) ->child( html::div($page->body) ->addClass('container-inner') ->r() ) ->o($config->debug); <!-- Output <div class="container container-center" style="border: 1px solid #000;" data-id="Page id field data will come here" data-title="Page title field data will come here"> <h1 class="h1-title"> Page title field data will come here </h1> <div class="container-inner"> Page body field data will come here </div> </div> -->
  5. Updated module with a magic method. Now you can pass element name directly to class. Some Examples : // Working With ProcessWire $ul = html::ul()->addClass('list'); foreach($page->children as $p) { $ul->child( html::li() ->addClass('list-item') ->data('id', $p->id) ->child( html::a($p->title) ->addClass('list-item-link') ->attr('href', $p->url) ->data('id', $p->id)->r() )->r() ); } $ul->o(true); /* output : <ul class='list'> <li class='list-item' data-id='1057'> <a class='list-item-link' href='/en/villas/' data-id='1057'> Villas </a> </li> <li class='list-item' data-id='1001'> <a class='list-item-link' href='/en/location/' data-id='1001'> Location </a> </li> <li class='list-item' data-id='1090'> <a class='list-item-link' href='/en/guestbook/' data-id='1090'> Guestbook </a> </li> <li class='list-item' data-id='1055'> <a class='list-item-link' href='/en/contact/' data-id='1055'> Contact </a> </li> <li class='list-item' data-id='1005'> <a class='list-item-link' href='/en/site-map/' data-id='1005'> Site Map </a> </li> </ul> */ html::div("Hey !") ->addClass('container') ->addClass('container-center') ->id('centered-container') ->output(true); /* output :: <div id='centered-container' class='container container-center'> Hey ! </div> */ html::ul()->addClass('list')->children(array( html::li('Li element value 1')->addClass('list-item')->r(), html::li('Li element value 2')->addClass('list-item')->r(), html::li('Li element value 3')->addClass('list-item')->r(), html::li('Li element value 4')->addClass('list-item')->r(), html::li('Li element value 5')->addClass('list-item')->r() ))->o(true); /* output :: <ul class='list'> <li class='list-item'> Li element value 1 </li> <li class='list-item'> Li element value 2 </li> <li class='list-item'> Li element value 3 </li> <li class='list-item'> Li element value 4 </li> <li class='list-item'> Li element value 5 </li> </ul> */ html::hr(null, "/>")->o(); /* output : <hr /> */
  6. You can use it @Macrura example, but firstly check is there a image and don't use foreach ! if($item->images->count > 0) $out .= "<img src='{$item->images->first()->url}' />";
  7. Now it is a module ! You can continue topic from : https://processwire.com/talk/topic/11761-avbmarkuphtml/
  8. AvbMarkupHtml - HTML tag manager for ProcessWire This module allow you to use less HTML elements inside your PHP code ! Added hook for page. For make quick markup calls : $page->html(); Github : https://github.com/trk/AvbMarkupHtml Example usage and all methods : // All Configs $config = array( 'quote' => '"', 'indent_with' => ' ', 'tags_without_indentation' => 'link,img,meta', 'WirePage' => null, 'tag' => null, 'tagSelfClosed' => null, 'tagNoClose' => null, 'tagCustom' => null, 'tagStart' => '', 'tagEnd' => '', 'prepend' => '', 'prepends' => '', 'attributes' => array(), 'dataAttributes' => array(), 'label' => '', 'note' => '', 'text' => '', 'texts' => array(), 'hasTexts' => false, 'field' => '', 'field_value' => '', 'fields' => array(), 'hasFields' => false, 'child' => '', 'children' => '', 'append' => '', 'appends' => '' ); // All Methods $page->html(array('key', 'value')) // $config ->tag('string', $args=array())) // tag name, $args=content,tag-options => "/>" self closed, "->" no close, "=>" special tag ->setQuote('double or single quote') // default is : " ->addClass('string') // Element class name ->id('string') // Element id ->attr('key', 'value') // output : key='value' ->attributes(array('key', 'value')) // attributes ->data('key', 'value') // output : data-key='value' ->dataAttributes(array('key', 'value')) // data-attributes, this will add auto data- prefix to your attribute ->prepend('string') // a string value ->prepends(array('values')) // array for values ->text('string') // text for inner tag ->field('field_name', 'page_object') // Field name and page object ->texts(array()) // enter text array | array('Text 1', 'Text 2') ->fields(array(), 'page_object') // enter field names as array, a page | array('title', 'body') ->note('field_name', 'page') // enter a field name, a page ->label('field_name', 'page') // enter a field name, a page ->append('string') // a string value ->appends(array('values')) // array for values ->r(true|false) // Alis with ->render(); function ->render(true|false) // This will return result ->o(true|false) // Alias with ->output(); function ->output(true|false); // This will print result | default pretty print value is : false // #Example 1 : Working With ProcessWire $ul = html::ul()->addClass('list'); foreach($page->children as $p) { $ul->child( html::li() ->addClass('list-item') ->data('id', $p->id) ->child( html::a($p->title) ->addClass('list-item-link') ->attr('href', $p->url) ->data('id', $p->id)->r() )->r() ); } $ul->o(true); /* output : <ul class='list'> <li class='list-item' data-id='1057'> <a class='list-item-link' href='/en/villas/' data-id='1057'> Villas </a> </li> <li class='list-item' data-id='1001'> <a class='list-item-link' href='/en/location/' data-id='1001'> Location </a> </li> <li class='list-item' data-id='1090'> <a class='list-item-link' href='/en/guestbook/' data-id='1090'> Guestbook </a> </li> <li class='list-item' data-id='1055'> <a class='list-item-link' href='/en/contact/' data-id='1055'> Contact </a> </li> <li class='list-item' data-id='1005'> <a class='list-item-link' href='/en/site-map/' data-id='1005'> Site Map </a> </li> </ul> */ // #Example 2 html::div() ->addClass('container') ->addClass('container-center') ->attr('style', 'border: 1px solid #000;') ->data('id', $page->id) ->data('title', $page->title) ->child( html::h1($page->title) ->addClass('h1-title') ->r() ) ->child( html::div($page->body) ->addClass('container-inner') ->r() ) ->o($config->debug); /* Output <div class="container container-center" style="border: 1px solid #000;" data-id="Page id field data will come here" data-title="Page title field data will come here"> <h1 class="h1-title"> Page title field data will come here </h1> <div class="container-inner"> Page body field data will come here </div> </div> */ // #Example 3 : html::div("Hey !") ->addClass('container') ->addClass('container-center') ->id('centered-container') ->output(true); /* Output <div id='centered-container' class='container container-center'> Hey ! </div> */ // #Example 4 html::ul()->addClass('list')->children(array( html::li('Li element value 1')->addClass('list-item')->render(), html::li('Li element value 2')->addClass('list-item')->render(), html::li('Li element value 3')->addClass('list-item')->render(), html::li('Li element value 4')->addClass('list-item')->render(), html::li('Li element value 5')->addClass('list-item')->render() ))->output(true); /* Output <ul class='list'> <li class='list-item'> Li element value 1 </li> <li class='list-item'> Li element value 2 </li> <li class='list-item'> Li element value 3 </li> <li class='list-item'> Li element value 4 </li> <li class='list-item'> Li element value 5 </li> </ul> */ // #Example 5 $title = $page->html('title')->tag('h1')->addClass('h1-class')->render(); echo $title; // #Example 6 : This will directly print $page->html($page->title)->tag('h1')->addClass('h1-class')->output(); html::h1($page->title)->o(); // #Example 7 : Self Closed Tag $modules->AvbMarkupHtml->html()->tag('hr', array(null, '/>'))->output(); html::hr()->o(); // #Example 8 $page->html($page->title)->tag('h1')->addClass('my-h1-class')->output(); html::h1($page->title)->addClass('my-h1-class')->o(); // #Example 9 $page->html('title', $pages->get('/contact/'))->tag('h1')->addClass('my-h1-class')->output(); html::h1()->addClass('my-h1-class')->field('title', $pages->get('/contact/'))->o(); // #Example 10 $modules->AvbMarkupHtml->html()->tag('div')->addClass('container')->children(array( $page->html('title')->tag('h1')->addClass('my-title')->render(), $page->html('body')->tag('div')->addClass('my-body')->render() ))->output(); // #Example 11 | Multiple child, prepend, append $html = $page->html()->tag('div')->addClass('uk-container')->addClass('uk-container-center'); $html->prepend( $page->html()->tag('div')->text('Prepend #1 !')->render() ); $html->prepend( $page->html()->tag('div')->text('Prepend #2 !')->render() ); $html->child( $page->html()->tag('div')->text('Hey !')->render() ); $html->child( $page->html()->tag('div')->text('Foo !')->render() ); $html->child( $page->html()->tag('div')->text('Bar !')->render() ); $html->append( $page->html()->tag('div')->text('Append #1 !')->render() ); $html->append( $page->html()->tag('div')->text('Append #2 !')->render() ); $html->output(); // #Example 12 | Create A HTML page //-> Create Html Tag $html = $page->html()->tag('html')->attr('lang', 'en')->attr('dir', 'ltr'); //-> Create Head Tag $head = $page->html()->tag('head'); //-> Add TITLE inside HEAD tag $head->child( $page->html()->tag('title')->text('My Website')->render() ); //-> Put HEAD inside HTML Tag $html->child($head->render()); //-> Create BODY Tag $body = $page->html()->tag('body')->addClass($page->template); //-> Create DIV Tag $container = $page->html()->tag('div')->addClass('container'); $container->children(array( $page->html()->tag('h1')->addClass('h1-title')->text('H1 Title')->render(), $page->html()->tag('div')->addClass('body-content')->text('Body Content')->render() )); //-> Put DIV.container inside BODY Tag $body->child($container->render()); //-> Put BODY inside HTML Tag $html->child($body->render()); $html->output(true); // Pretty HTML output /* Output <html lang='en' dir='ltr'> <head> <title> My Website </title> </head> <body class='homepage'> <div class='container'> <h1 class='h1-title'> H1 Title </h1> <div class='body-content'> Body Content </div> </div> </body> </html> */ // #Example 13 Static Call Example $article = html::tag('article')->addClass('uk-article')->children(array( html::field('title')->tag('h1')->addClass('uk-article-title')->render(), html::tag('hr', array(null, '/>'))->addClass('uk-article-divider')->render(), html::field('body')->render() )); $article->output(true); /* Output <article class='uk-article'> <h1 class='uk-article-title'>Page Title</h1> <hr class='uk-article-divider' /> Body Content </article> */
  9. This is not clear like my array solution. I don't want syntax like this. My syntax will like (Module Usage) : <?php // All Configs $config = array( 'htmlFormatter' => true, 'indentWith' => ' ', 'tagsWithoutIndentation' => 'html,link,img,meta', 'page' => null, 'tag' => null, 'tagSelfClosed' => null, 'prepend' => '', 'prepends' => '', 'attributes' => '', 'dataAttributes' => '', 'label' => '', 'note' => '', 'text' => '', 'texts' => array(), 'field' => '', 'field_value' => '', 'fields' => array(), 'loop' => '', 'child' => '', 'children' => '', 'append' => '', 'appends' => '' ); // All Methods $page->html(array('key', 'value')) // $config ->tag('string', array('key', 'value')) // tag name, quick attributes ->attributes(array('key', 'value')) // attributes ->dataAttributes(array('key', 'value')) // data-attributes, this will add auto data- prefix to your attribute ->prepend('string') // a string value ->prepends(array('values')) // array for values ->text('string') // text for inner tag ->field('field_name', 'page_object') // Field name and page object ->loop() // !! will work on this !! ->texts(array()) // !! will work on this !! ->fields(array()) // !! Will work on this !! ->note() // !! will work on this !! ->label() // !! Will work on this !! ->append('string') // a string value ->appends(array('values')) // array for values ->render() // This will return result ->output(); // This will print result $title = $page->html('title')->tag('h1', array('class'=>'h1-class'))->render(); echo $title; // This will directly print $page->html('title')->tag('h1', array('class'=>'h1-class'))->output(); // Self Closed Tag $modules->AvbMarkupHtml->html()->tag('hr:/')->output(); // Example #1 $page->html('title')->tag('h1', array('class' => 'my-h1-title'))->output(); // Example #2 $page->html('title', $pages->get('/contact/'))->tag('h1', array('class' => 'my-h1-title'))->output(); // Example #3 $modules->AvbMarkupHtml->html()->tag('div', array('class' => 'container'))->children(array( $page->html('title')->tag('h1', array('class' => 'my-title'))->render(), $page->html('body')->tag('div', array('class' => 'my-body'))->render() ))->output(); // Example #4 | Multiple child, prepend, append $html = $page->html()->tag('div', array('class' => 'uk-container uk-container-center')); $html->prepend( $page->html()->tag('div')->text('Prepend #1 !')->render() ); $html->prepend( $page->html()->tag('div')->text('Prepend #2 !')->render() ); $html->child( $page->html()->tag('div')->text('Hey !')->render() ); $html->child( $page->html()->tag('div')->text('Foo !')->render() ); $html->child( $page->html()->tag('div')->text('Bar !')->render() ); $html->append( $page->html()->tag('div')->text('Append #1 !')->render() ); $html->append( $page->html()->tag('div')->text('Append #2 !')->render() ); $html->output(); // Example #5 | Create A HTML page // Create Html Tag $html = $page->html()->tag('html', array( 'lang' => 'en', 'dir' => 'ltr' )); // Create Head Tag $head = $page->html()->tag('head'); // Add TITLE inside HEAD tag $head->child( $page->html()->tag('title')->text('My Website')->render() ); // Put HEAD inside HTML Tag $html->child($head->render()); // Create BODY Tag $body = $page->html()->tag('body', array('class' => $page->template)); // Create DIV Tag $container = $page->html()->tag('div', array('class' => 'container')); $container->children(array( $page->html()->tag('h1', array('class' => 'h1-title'))->text('H1 Title')->render(), $page->html()->tag('div', array('class' => 'body-content'))->text('Body Content')->render() )); // Put DIV.container inside BODY Tag $body->child($container->render()); // Put BODY inside HTML Tag $html->child($body->render()); $html->output(); /* OUTPUT <html lang='en' dir='ltr'> <head> <title> My Website </title> </head> <body class='homepage'> <div class='container'> <h1 class='h1-title'> H1 Title </h1> <div class='body-content'> Body Content </div> </div> </body> </html> */ ?>
  10. @LostKobrakai above answer not for you : I don't need a template engine or a js library. I write this function like i said, Use less html elements inside your php codes ! its for first comment. I converted markup to a module and working on it. Can you check here and if you have time can you check usage ? https://github.com/trk/AvbMarkupHtml i will update repo if have have new things
  11. Your PHP version not supporting new array syntax, this is why you have this error message. I updated module to ve 0.1.0 now i think module fully supporting old php versions. New features for v.0.1.0 : Custom CSS file url support Added hook method ___beforeRender(), you can check hook example for usage Added multiple icons library use option Added Ionicons Library Now module using cdn for load icon fonts
  12. I don't need a template engine or a js library. I write this function like i said, Use less html elements inside your php codes ! @LostKobrakai For syntax maybe something like this could be helpful : - $page->title('h1'); - $page->title->output(array('tag' => 'h1', 'attributes' => array('class' => 'my-page-title')); - $pages->get(1)->children->output(array('tag' => 'li', 'attributes' => array('class' => 'my-child-item'), 'field' => 'title'));
  13. I, bored to write HTML elements inside my PHP code and i wrote a function for use less HTML elements. I think this function also could be helpful for you and maybe we can extend this function for use with all field types. For the moment the function only supporting fields like text, textarea or like these fields. What is this function making ? - Simply this function helping you to write less HTML elements in your PHP code. For the moment its only a function maybe i can make it a module. If you interest, here is gist link : https://gist.github.com/trk/b365f47793927006b1fb Module Usage (Available configs): <?php // Available configs $AvbMarkupOutputConfigs = array( 'tag' => 'div', // Usage for self closed tag : 'hr:/', 'i:/' 'attributes' => array( 'class' => 'element-class', // output : class='element-class' 'id' => 'element-id' // output : id='element-id' // Attributes ), 'data-attributes' => array( 'lat' => 'a-data-attribute' // output: data-lat='a-data-attribute' // Data Attributes : enter like normal attributes output will be data-your-attribute ), 'prepend' => array( // You can use here like main ), 'prepends' => array( array( // You can use here like main ), array( // You can use here like main ) // ..... ), 'field' => 'title', // a field name from your page 'value' => 'a custom value', 'loop' => array( 'tag' => 'div', // Usage for self closed tag : 'hr:/', 'i:/' 'attributes' => array( 'class' => 'element-class', // output : class='element-class' 'id' => 'element-id' // output : id='element-id' // Attributes ), 'data-attributes' => array( 'lat' => 'a-data-attribute' // output: data-lat='a-data-attribute' // Data Attributes : enter like normal attributes output will be data-your-attribute ), 'prepend' => array( // You can use here like main ), 'prepends' => array( array( // You can use here like main ), array( // You can use here like main ) // ..... ), 'fields' => array( 'title', 'body' // Field names from your page ), 'values' => array( 'Custom Value 1', 'Custom Value 2', 'Custom Value 3' // You can use custom values for here ), 'append' => array( // You can use here like main ), 'appends' => array( array( // You can use here like main ), array( // You can use here like main ) // ..... ) ), 'child' => array( // You can use here like main ), 'children' => array( array( // You can use here like main ), array( // You can use here like main ) // ..... ), 'append' => array( // You can use here like main ), 'appends' => array( array( // You can use here like main ), array( // You can use here like main ) // ..... ), ); AvbMarkupOutput($AvbMarkupOutputConfigs, $page) ?> Here are some examples about usage, i will make a before this function and after this function : Before : <?php $additionals = "foo bar some custom data"; echo "\n<article class='uk-article'> \n\t<h1 class='uk-article-title'>{$page->title}</h1> \n\t<hr class='uk-article-divider' /> \n\t{$page->body} \n\t{$additionals} \n</article>"; ?> After : <?php $additionals = "foo bar some custom data"; echo AvbMarkupOutput(array( 'tag' => 'article', 'attributes' => array( 'class' => 'uk-article' ), 'children' => array( array( 'tag' => 'h1', 'attributes' => array( 'class' => 'uk-article-title' ), 'field' => 'title', 'append' => array( 'tag' => 'hr:/', 'attributes' => array( 'class' => 'uk-article-divider' ) ) ), array( 'field' => 'body' ), array( 'value' => $additionals ) ) )); ?> Dive deep : <?php echo AvbMarkupOutput(array( 'tag' => 'div', 'attributes' => array( 'class' => 'uk-container uk-container-center' ), 'child' => array( 'tag' => 'section', 'attributes' => array( 'class' => 'page' ), 'child' => array( 'tag' => 'article', 'attributes' => array( 'class' => 'uk-article' ), 'children' => array( array( 'tag' => 'h1', 'attributes' => array( 'class' => 'uk-article-title' ), 'field' => 'title', 'append' => array( 'tag' => 'hr:/', 'attributes' => array( 'class' => 'uk-article-divider' ) ) ), array( 'field' => 'body' ) ) ) ) )); ?> <!-- Output --> <div class='uk-container uk-container-center'> <section class='page'> <article class='uk-article'> <h1 class='uk-article-title'><?=$page->title;?></h1> <hr class='uk-article-divider'/> <?=$page->body?> </article> </section> </div> <?php // Create a table same like this :: http://getuikit.com/docs/table.html#usage echo AvbMarkupOutput(array( 'tag' => 'table', 'attributes' => array( 'class' => 'uk-table' ), 'children' => array( array( 'tag' => 'caption', 'value' => 'Table caption' ), array( 'tag' => 'thead', 'child' => array( 'tag' => 'tr', 'child' => array( 'loop' => array( 'tag' => 'th', 'values' => array( 'Table Heading', 'Table Heading', 'Table Heading', 'Table Heading' ) ) ) ) ), array( 'tag' => 'tfoot', 'child' => array( 'tag' => 'tr', 'child' => array( 'loop' => array( 'tag' => 'td', 'values' => array( 'Table Footer', 'Table Footer', 'Table Footer', 'Table Footer' ) ) ) ) ), array( 'tag' => 'tbody', 'child' => array( 'children' => array( array( 'tag' => 'tr', 'child' => array( 'loop' => array( 'tag' => 'td', 'values' => array( 'Table Data', 'Table Data', 'Table Data', 'Table Data' ) ) ) ), array( 'tag' => 'tr', 'child' => array( 'loop' => array( 'tag' => 'td', 'values' => array( 'Table Data', 'Table Data', 'Table Data', 'Table Data' ) ) ) ), array( 'tag' => 'tr', 'child' => array( 'loop' => array( 'tag' => 'td', 'values' => array( 'Table Data', 'Table Data', 'Table Data', 'Table Data' ) ) ) ), array( 'tag' => 'tr', 'child' => array( 'loop' => array( 'tag' => 'td', 'values' => array( 'Table Data', 'Table Data', 'Table Data', 'Table Data' ) ) ) ) ) ) ) ) )); ?> <!-- Output --> <table class='uk-table'> <caption>Table caption</caption> <thead> <tr> <th>Table Heading</th> <th>Table Heading</th> <th>Table Heading</th> <th>Table Heading</th> </tr> </thead> <tfoot> <tr> <td>Table Footer</td> <td>Table Footer</td> <td>Table Footer</td> <td>Table Footer</td> </tr> </tfoot> <tbody> <tr> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> </tr> <tr> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> </tr> <tr> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> </tr> <tr> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> <td>Table Data</td> </tr> </tbody> </table> You can make nested calls !
  14. @kongondo Thanks for your module ! I made a pull-request for separating status urls from status labels. I opened an issue for original ProcessCommentsManager, because problem coming from the original module. On my side i am using your module with my changes its look like working well !
  15. ukyo

    AvbImage

    When you call image and if image exist not trying to create it again just bringing existing image data.
  16. You can use : getLanguageValue($language->id, 'url') or $page->localHttpUrl($language->id); or $page->localUrl($language->id); for get language values Example usage for get all urls for all languages: <?php $getLanguageValues = ""; $localHttpUrls = ""; foreach($languages as $language) { $getLanguageValues .= $page->getLanguageValue($language->id, 'url') . "<br />"; $localHttpUrls .= $page->localHttpUrl($language->id) . "<br />"; } echo "getLanguageValue() => " . $getLanguageValues; echo "localHttpUrl() => " . $localHttpUrls; ?>
  17. ukyo

    AvbImage

    Module updated Module and InterventionImage Library update
  18. Thanks for quick response. It look like ok now. I tested it with default (3) ready to use fields.
  19. I have problem with image field inside repeater. Firstly i think its caused from ProcessWire core but ryan checked issue and issue cause from this module. You can see issue details in here : https://github.com/ryancramerdesign/ProcessWire/issues/1541
  20. Updated module on dev branch. New features for v.0.0.9 dev branch : Added hook method ___beforeRender(), you can check hook example for usage Added multiple icons library use option Added Ionicons Library Now module using cdn for load icon fonts Also if you need custom icon font options you can use berforeRender hook ! After some test i will update also master branch. if you want to make test, you need to download and update it manually.
  21. Sorry i missed to update Fieldtype and Markup versions. But you need to wait for PorcesswireModuleDirectory update repos or you can make update by downloading files from github.
  22. I updated module, on my side i don't have this issue anymore ! Updated many things and changed methods for loading icon list etc.. Next step is use other font icons !
  23. Sorry i am to busy with work and i know the issue. I think this issue appear, because fonticonpicker js library changing the processwire field attributes. I will do one more hidden field for fonticonpicker js attributes and after done i will update processwire field. Started to work on it. Thanks for interest !
  24. Both (with your module and with my module) used default quality option "90" and GD library used. Didn't test "Imagick" Library yet but it must work, if extension is installed. I checked difference between "Imagick" and "GD" there not much difference about file sizes. Comments about "Imagick" quality is much better for compression than "GD".
  25. I wrote my own module. Because, I have a project need to finish it quickly. On my side file sizes are important. With your module. if you apply watermark file sizes going up (this is normal but x2 size up, not normal) On the screenshots you can see the results. If you want have a look to my module here is a link : https://processwire.com/talk/topic/11318-avbimage/ And on attachment you can see my module result :
×
×
  • Create New...