impresspages - 1) styling blocks 2) change background color as admin 3) plugins request - impresspages

I am just playing around with ImpressPages and got three questions:
1)
Widgets can be styled.
There are options available, where you can adjust everything.
But what about the blocks?
Where can the style of blocks be edited in a graphical way? (without the need of knowing CSS!)
As an example, I just picked a design from oswd: (example!)
http://static.oswd.org/designs/1547/Greenday/
As you can see, there is a grey header and a green area below.
If this would be an impresspages website, all the widgets (images, texts, etc) could be edited.
But what's about the look and feel of the blocks?
Let's assume, the site's administrator (who does not know html, css, etc) wants to change the background-color or wants to set a background-image for the (formerly) green area.
*) What would he/she need to do? Any "click to edit" option?
*) Where would he/she need to click, to get the config options as GUI like for the widgets?
I'd expect a wheel-icon like for the widgets where the "skin" of the block can be changed.
Can blocks have skins? Beside skins, I'd need a real config dialogue window where the site admin can chose the color, background image, etc.
This is honestly very important - I hope there is a solution!
2)
What is the easiest way to create a plugin for the administration area where options can be set?
I want to show a javascript based color picker where the overall background color can be chosen.
The HelloWorld Plugin was a good start, and I was able to save a value:
ipSetOption('HelloWorld.backgroundcolor', 'ff0000');
I was also able to print the value in the frontend.
*) But, I was not able to add a form field
I tried it the ImpressPages like way:
$form = new \Ip\Form();
$field = new \Ip\Form\Field\Text(
array(
'name' => 'bgcolor',
'label' => __('bgcolor', 'Ip-admin', false),
));
$form->addField($field);
*) And I was not able to find out how to add a color picker.
3)
Are there simple widgets planned like the following ones?
*) Comments (per page)
*) Guestbook
*) Polls
*) Print page
*) Recommend page to a friend (mail)
etc...
Would I need to program them all myself, or will they come out in the next time?
Thank you very much in advance!

ImpresspPages is very new and agile tool. It lack many plugins you have mentioned. One day they will all come to the world. We have more and more plugins each day. I would say use ImpressPages for project where ImpressPages has everything needed.

Regarding the background. I would go for theme options. It is not suitable if you want to change background for particular widget. But should work great to change the background for the whole page.

Related

Shopify - is it possible to change the preview of a product with a inputbox?

Which ways are possible to edit the live preview of the product page in Shopify with Inputboxes next to it?
Let's say the product is a poster, and i want to add a custom text on it.
When typing into the inputbox the text changes in real time on the product.
Can this be implemented in the shopify code with the basic version of shopify?
Or does this necessarily needs an app?
ADDITIONALLY:
Let me go a bit deeper. I have a code that can generate a QR code.
Now i want that the QR code to be previewed in the product. Now position and color of the QR code is different from any product. Would that need an app?
Yes you can to an extent.
First the ground rules:
You can't modify the product from the front-end and update the content or media in the back-end - this would be a huge security hole
The changes applied to the product will be visible only to the user who changed them
The solution is to use Javascript and update the content of the front-end. If you like to store the changes for that specific user you can save them as cookie or localstorage.
If you like to share this change to other people you will need to add a custom parameter in the URL of the page and generate the content from it and share that url.
Each one of these steps will require some custom Javascript that will affect only the user in question, if you like to modify the product in the back-end directly you will need some kind of an app for this.
On my mind it can be done if the dynamic text is applied over product image.
Detailed code would be too long to write here but here are the steps:
Add an input to your product form to add a custom property (https://community.shopify.com/c/Shopify-Design/Product-pages-Get-customization-information-for-products/td-p/616503)
Write a Javascript function to get input value in real time
Use this value to display it in a div in product image container
Position this div in CSS as absolute and style it as you wish
While image container position should be set as relative in CSS
HTH

Flag module - link's position change (Drupal)

I've just installed Flags module and it looks awful when on the bottom I see "Flag this item" link. The only thing I've found in configuration is enabling it to show as normal link. Still I haven't found how to change position of this link. Is it even possible to change link's place? I have installed CCK Blocks but it doesn't give me any option to get rid of it. If someone know or suspect what's possible - please help me.
Try the Display Suite module, this module is integrated with many modules like flag, title etc...
Display Suite allows you to take full control over how your content is displayed using a drag and drop interface. Arrange your
nodes, views, comments, user data etc. the way you want without having
to work your way through dozens of template files. A predefined list
of layouts (D7 only) is available for even more drag and drop fun!
https://drupal.org/project/ds
You can move and generate custom layouts for the fields/properties on the entity display formatter: teaser, full...

Ektron PageBuilder - define default name for custom widget

I'm hoping this is a simple question. I have a custom widget. Let's say it is "SuperAwesomeWidget.ascx". When I'm editing a PageBuilder wireframe, I can see my widget in the little pulldown widget tray at the top of the screen. Thing is, the name under my icon is "SuperAwesomeWidget".
Now, I know that I can go to the widgets settings in the WorkArea and define a custom name, but what if I want Ektron to just "know" what the name should be? I'm hoping there is some config file somewhere that I can add my widget name to. I'd like to be able to drop this widget along with maybe a config file or something into a second Ektron install and not need to define the name via the workarea.
For anyone in the future googling this issue, there is a better answer than my previous one, particularly better than a workarea modification.
To update the display title of a widget in the widget bar:
Go to Workarea > Settings > Configuration > Personalization > Widgets
Find your widget in this list and click the edit icon to the left of its name
Modify the display title in the second text field in the modal that pops up.
Confirmed working in 8.6.1, likely works in all 8+ versions.
Edit: While this answer is still partially correct, I have discovered the actual way to do this. The correction has been marked as the accepted answer.
Set your IWidgethost's title property:
IWidgetHost _host;
...
_host.Title = "Hello World Widget";
From the esteemed eGandalf's tutorial on widget development:
http://www.ektron.com/Blogs/eGandalf/Break-it-down!-Widget-Development-How-To-(Part-1)/

How to create wizard/screens with disabled pages/buttons using Dojo Dijit?

I want to create a sequence of screens using a StackContainer in Dijit.
However, I want to disable consecutive pages and their corresponding buttons in the StackController until the form on the current page has been validated successfully.
Is this possible with the standard elements? If so, how?
In addition, it would be nice if I could customize the buttons of the StackController to show my own details instead of the title of the screen.
For disabling I think you can use
the_button.set('disabled', true); //and vice-versa
For changing the details you can try setting the labels directly (similar to disabled) or try subclassing the appropriate stuff (probably the stackcontroller) if it turs out to be feasible.

How Do I Intercept Banner in WordPress?

My client wants me to make a plugin that intercepts the banner on a WordPress blog so that the existing one displays, but right beneath it, above the content and the sidebar, another banner appears. And he needs it such that it works in most themes and isn't theme-specific.
I found I could use add_action('loop_start','interceptMe') to put something at the top before posts or a single post, but it still left the sidebar on the right. I have tried using add_action('all','test') to dump out different intercepts to see if I could figure this out, but I just can't seem to get it yet. I'm thinking I may have to intercept all esc_html calls and contextually inspect that until I find one used for the banner.
Does anyone know how to intercept the banner to add another one right beneath it?
This is going to be very challenging to do. There's no consistent structure, HTML, or CSS IDs that would allow you to do cross-theme injection like this (hell, some themes don't have a header image). You will likely need to make manual changes to each theme for this.
I suppose you might insert some JavaScript that looks for an H1 tag and inserts your banner right after it. Ceejayoz is right though -- there's not consistency to different themes. One theme might use H1 for the site header and another for a Post title.