Coder Social home page Coder Social logo

Comments (4)

domtra avatar domtra commented on May 26, 2024 1

Hi @szepeviktor ,
sorry for the late reply. I tried answering a couple of times before, but was never happy with what i was going to write.

flynt is a starter theme based on timber, as you know. so we use timber's way of rendering routes, not the wordpress loop.
besides that we do not make any assumptions. we do not force you to use or facilitate writing more oop or any other style. we still use wordpress actions a lot. with that, you are free to do whatever you want with your plugin.

if you have a specific question, feel free to further elaborate.

from flynt.

szepeviktor avatar szepeviktor commented on May 26, 2024

@domtra Thank you for your struggle!

My simple question is:
I generate a section of the HTML page in my plugin (thus the application), how to send it (as a string) to Flynt with minimal application-specific code in the theme?

from flynt.

domtra avatar domtra commented on May 26, 2024

ok @szepeviktor, i still think there are a couple of scenarios for that. let me try to cover two of those.

if you want the html from your plugin to be included in a certain wordpress template, you only need to consider timber/twig functionalty. for example, add to templates/page.twig directly a function call like {{ fn('generatePluginHtml') }}.
this style you would probably not prefer, so you could also add code to page.php like

$myPlugin = new \My\Plugin();
$context['customHtml'] = $myPlugin->generateHtml();

and then include {{ customHtml }} at some position in template/page.twig.

For a more component based solution, so that the content manager, for example, can include the generated html at any position in the page/post components, you would have to create a new component with a functions.php and an index.twig.

these two files would need to contain something like

functions.php

namespace Flynt\Components\BlockPluginHtml;

add_filter('Flynt/addComponentData?name=BlockPluginHtml', function ($data) {
    $myPlugin = new \My\Plugin();
    $data['customHtml'] = $myPlugin->generateHtml();

    return $data;
});

function getACFLayout()
{
    return [
        'name' => 'blockPluginHtml',
        'label' => 'Block: Plugin Html',
        'sub_fields' => [],
    ];
}

index.twig

{{ customHtml }}

to make this component available for the content editor, you would need to add Components\BlockPluginHtml\getACFLayout() to the respective field group in inc/fieldGroups.

I hope this answers you question. let me know if anything remains unclear.

from flynt.

szepeviktor avatar szepeviktor commented on May 26, 2024

Thank you for starting me up!

from flynt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.